Browse Source

提交视听说修改答题点渲染顺序

namejr 4 years ago
parent
commit
ee3988e32e
2 changed files with 55 additions and 107 deletions
  1. 54 107
      EBook.Web/Common/tasklib_book.js
  2. 1 0
      EBook.Web/EBook.Web.csproj

+ 54 - 107
EBook.Web/Common/tasklib_book.js

@@ -1306,27 +1306,28 @@ function resetPressFlag() {
 
 // 打理干净underline
 function dealUnderLineFunc() {
-    var ArrList = [];
-    $.each($('.underline'), function (index, element) {
-        var nextClsName = $(this).next().attr("class");
-        var prevClsName = $(this).prev().attr("class");
-        if ($(this).prev().find(".underlineContent").length > 0) {
-            ArrList.push(index);
-        }
-        else if (prevClsName != undefined && (prevClsName.indexOf("underlineContent") > -1 || prevClsName.indexOf("underline") > -1)) {
-            ArrList.push(index);
-        }
-        else if ($(this).next().find(".underlineContent").length > 0) {
-            ArrList.push(index);
-        }
-        else if (nextClsName != undefined && (nextClsName.indexOf("underlineContent") > -1 || nextClsName.indexOf("underline") > -1)) {
-            ArrList.push(index);
-        }
-    });
-    while (ArrList.length > 0) {
-        var ArrStr = ArrList.pop();
-        $('.underline').eq(ArrStr).remove();
-    }
+    //var ArrList = [];
+    //$.each($('.underline'), function (index, element) {
+    //    var nextClsName = $(this).next().attr("class");
+    //    var prevClsName = $(this).prev().attr("class");
+    //    if ($(this).prev().find(".underlineContent").length > 0) {
+    //        ArrList.push(index);
+    //    }
+    //    else if (prevClsName != undefined && (prevClsName.indexOf("underlineContent") > -1 || prevClsName.indexOf("underline") > -1)) {
+    //        ArrList.push(index);
+    //    }
+    //    else if ($(this).next().find(".underlineContent").length > 0) {
+    //        ArrList.push(index);
+    //    }
+    //    else if (nextClsName != undefined && (nextClsName.indexOf("underlineContent") > -1 || nextClsName.indexOf("underline") > -1)) {
+    //        ArrList.push(index);
+    //    }
+    //});
+    //while (ArrList.length > 0) {
+    //    var ArrStr = ArrList.pop();
+    //    $('.underline').eq(ArrStr).remove();
+    //}
+    $('.underline').remove();  // 删除全部
 }
 
 // 打补丁(非underlineContent下的span下嵌套underlineContent)
@@ -1498,62 +1499,9 @@ function handleAnswerRange() {
             $(item).find('.yaoshi').hide();
         });
     });
-
-    //所有underline不做处理
-    $.each($(".yaoshi").nextUntil(".yaoshi").filter(".underline"), function (index, item) {
-        tempId = $(item).prevAll(".yaoshi").attr("answer-id");
-        //记录上一次的ID
-        if (tempId == undefined) {
-            tempId = answerId;
-        }
-        else {
-            answerId = tempId;
-        }
-        var prev = $(item).prev();
-        if ((prev.length == 0 || $(prev).attr("class") != "tag-span") && $(prev).attr("class") != "underlineContent") {
-            if ($("span[answer-id='" + tempId + "']").length == 0) {
-                $(item).prop("outerHTML", "<span answer-id='" + tempId + "' class='tag-span' answer-isky='0'>_</span>");
-            }
-        }
-        $(item).remove();
-    });
+    dealUnderLineFunc();
     //提取参考答案并规范文本格式
     answerId = "";
-    //$.each($(".yaoshi").nextUntil(".yaoshi").filter(".underlineContent"), function (index, item) {
-    //    var info = new Object();
-    //    info.Id = $(item).prevAll(".yaoshi").attr("answer-id");
-    //    info.pId = $(item).prevAll(".yaoshi").attr("parent-anid");
-    //    //记录上一次的ID
-    //    if (info.Id == undefined) {
-    //        info.Id = answerId;
-    //    }
-    //    else {
-    //        answerId = info.Id;
-    //    }
-    //    if (info.pId == undefined) {
-    //        info.pId = answerId;
-    //    }
-    //    info.AnsText = $(item).attr("answer-anstext");
-    //    if (info.AnsText == undefined) {
-    //        info.AnsText = $(item).text();
-    //    }
-    //    tempJson.push(info);
-    //    // 特殊处理
-    //    var tInfos = dealSULContentFunc($(item).next(), info.Id, info.pId);
-    //    for (var i = 0; i < tInfos.length; i++) {
-    //        tempJson.push(tInfos[i]);
-    //    }
-    //    var prev = $(item).prev();
-    //    if (!$(prev).hasClass("checkbox")) {
-    //        if (prev.length == 0 || $(prev).attr("class") != "tag-span") {
-    //            //替换答案
-    //            $(item).prop("outerHTML", "<span answer-id='" + info.Id + "' class='tag-span' answer-isky='0'>_</span>");
-    //        }
-    //        else {
-    //            $(item).remove();
-    //        }
-    //    }
-    //});
     $.each($(".yaoshi"), function (index, item) {
         var tId = $(item).attr("answer-id");
         var tPId = $(item).attr("parent-anid");
@@ -1573,37 +1521,6 @@ function handleAnswerRange() {
             tempJson.push(tInfos[i]);
         }
     });
-    $.each($(".yaoshi"), function (index, item) {
-        var Id = $(item).attr("answer-id");
-        var prev = $(item).next();
-        if (!$(prev).hasClass("checkbox")) {
-            if (prev.length == 0 || $(prev).attr("class") != "tag-span") {
-                if ($("span[answer-id='" + Id + "']").length == 0) {
-                    var uHtml = document.createElement("span");
-                    uHtml.className = "tag-span";
-                    uHtml.innerText = "_";
-                    uHtml.setAttribute("answer-id", Id);
-                    $(item).after(uHtml);
-                }
-            }
-        }
-    });
-
-    //处理口语试题
-    $.each($(".oralLanguage").nextUntil(".oralLanguageDone"), function (num, part) {
-        if (part.tagName != "p") {
-            $.each($(part).find(".tag-span"), function (index, item) {
-                $(item).attr("answer-isky", "1");
-            });
-        }
-        else {
-            if ($(part).hasClass("underlinePart")) {
-                $.each($(part).find(".tag-span"), function (index, item) {
-                    $(item).attr("answer-isky", "1");
-                });
-            }
-        }
-    });
     //合并参考答案数据
     var tempid = "";
     var temppid = "";
@@ -1661,6 +1578,37 @@ function handleAnswerRange() {
             }
         }
     }
+    // 重新处理全部答题点
+    $.each($(".yaoshi"), function (index, item) {
+        var Id = $(item).attr("answer-id");
+        var prev = $(item).next();
+        if (!$(prev).hasClass("checkbox")) {
+            if (prev.length == 0 || $(prev).attr("class") != "tag-span") {
+                if ($("span[answer-id='" + Id + "']").length == 0) {
+                    var uHtml = document.createElement("span");
+                    uHtml.className = "tag-span";
+                    uHtml.innerText = "_";
+                    uHtml.setAttribute("answer-id", Id);
+                    $(item).after(uHtml);
+                }
+            }
+        }
+    });
+    //处理口语试题
+    $.each($(".oralLanguage").nextUntil(".oralLanguageDone"), function (num, part) {
+        if (part.tagName != "p") {
+            $.each($(part).find(".tag-span"), function (index, item) {
+                $(item).attr("answer-isky", "1");
+            });
+        }
+        else {
+            if ($(part).hasClass("underlinePart")) {
+                $.each($(part).find(".tag-span"), function (index, item) {
+                    $(item).attr("answer-isky", "1");
+                });
+            }
+        }
+    });
     //添加答题点的点击UI及交互
     $.each($(".tag-span"), function (index, item) {
         var answerText = "";
@@ -1724,7 +1672,6 @@ function handleAnswerRange() {
     });
     //删除所有钥匙节点
     $("img[class=yaoshi]").remove();
-    //console.log(JSON.stringify(answerData));
     // 处理多选框样式
     dealCheckBox();
     // data-astatus控制作答样式(0表示未提交,1表示提交,2表示回显);data-errstatus判断是否(1)错误

+ 1 - 0
EBook.Web/EBook.Web.csproj

@@ -160,6 +160,7 @@
     <Content Include="Lghp\23694.lghp" />
     <Content Include="Lghp\data2151552.lghp" />
     <Content Include="Lghp\data3151816.lghp" />
+    <Content Include="Lghp\data3181340.lghp" />
     <None Include="Lghp\gaicuo.lghp" />
     <None Include="Lghp\TS.lghp" />
     <Content Include="NK\tasklib_book.css" />