소스 검색

上传修改

namejr 4 년 전
부모
커밋
79872f01c7
1개의 변경된 파일196개의 추가작업 그리고 146개의 파일을 삭제
  1. 196 146
      EBook.Web/Common/new_tasklib_book.js

+ 196 - 146
EBook.Web/Common/new_tasklib_book.js

@@ -85,13 +85,13 @@ function selectImgULContent(item, Id) {
         return;
     }
     if (uLCClsName != undefined && uLCClsName.indexOf("underlineContent") > -1 && uLCClsName.indexOf("noKey") == -1) {
-        // 如果为答题点
-        item.attr("yaoshi-flag", Id).attr("showflag", "1");
+        // 如果为答题点,ucflag用户作答控制高亮,1表示作答内容存在高亮
+        item.attr("yaoshi-flag", Id).attr("showflag", "1").attr("ucflag","1");
     }
     // 判断子节点是否存在钥匙标签
     if (item.find(".yaoshi").length == 0) {
         $.each(item.find(".underlineContent").not(".noKey"), function (iIndex, iItem) {
-            $(iItem).attr("yaoshi-flag", Id).attr("showflag", "1");
+            $(iItem).attr("yaoshi-flag", Id).attr("showflag", "1").attr("ucflag", "1");
         });
     }
     else {
@@ -1038,100 +1038,6 @@ function ChangeSpaceStr(DataStr) {
     return DataStr;
 }
 
-// 判断是否登记
-function ChangeCheckFlag(DataStr, AnswerStr) {
-    var ReStr = "";
-    if (AnswerStr == null || AnswerStr == "") {
-        return ReStr;
-    }
-    if (AnswerStr.indexOf(DataStr) > -1) {
-        // 直接等价
-        //ReStr = AnswerStr.substring(0, (AnswerStr.indexOf(DataStr) + DataStr.length));
-        ReStr = DataStr;
-    }
-    else if (DataStr.indexOf("'") > -1) {
-        // 模糊匹配
-        var DataArr = DataStr.split("'");
-        var pattWStr = "";
-        for (var i = 0; i < DataArr.length; i++) {
-            if (pattWStr != "") {
-                pattWStr += ".*" + DataArr[i];
-            }
-            else {
-                pattWStr += DataArr[i];
-            }
-        }
-        var matchesWArr = AnswerStr.match(new RegExp(pattWStr, "ig"));
-        if (matchesWArr != null && matchesWArr.length > 0) {
-            var matchesStr = matchesWArr[0];
-            ReStr = AnswerStr.substring(0, (AnswerStr.indexOf(matchesStr) + matchesStr.length));  // 获取到的匹配字符串
-            // 安卓的惰性匹配不成功
-            var StartIndex = ReStr.indexOf(DataArr[DataArr.length - 1], DataStr.indexOf("'"));
-            ReStr = ReStr.substring(0, (StartIndex + DataArr[DataArr.length - 1].length));  // 获取最前面的字符串
-        }
-    }
-    return ReStr;
-}
-
-// 划分用户答案处理。待重构,将其划分写入(暂未处理)。AllAnswer所有的子span、mytext用户作答
-function SplitUserAnswer(AllAnswer, mytext) {
-    var ReArr = [];
-    if (AllAnswer == undefined || AllAnswer == null || AllAnswer.length == 0) {
-        return ReArr;
-    }
-    // 循环判断类型
-    for (var i = 0; i < AllAnswer.length; i++) {
-        // 先将答案进行切割
-        var ReStr = ChangeCheckFlag(AllAnswer[i].Val, mytext);
-        if (ReStr != null && ReStr != "" && i != (AllAnswer.length - 1)) {
-            var RemoveStr = mytext.substring(0, (mytext.indexOf(ReStr) + ReStr.length));  // 匹配到的整句话
-            var PrevReStr = mytext.substring(0, mytext.indexOf(ReStr));  // 匹配到的前半部分(无适配/多余)
-            mytext = mytext.replace(RemoveStr, "");
-            while (mytext[0] == " ") {
-                mytext = mytext.substring(1, mytext.length);  // 删除前缀空格
-            }
-            if (checkStrFunc(AllAnswer[i].ID) && AllAnswer[i].Type == "sentence") {
-                // 检查是否属于高亮,存在需要恢复显示高亮
-                ReStr = PrevReStr + '<img src="' + PicInfo.sentenceIcoUrl + '" class="sentImagcs" data-lstatus="3" data-setstatus="1"><span id="' + AllAnswer[i].ID + '" name="S' + AllAnswer[i].ID + '" flag="sentence" class="sentenceStyle" data-setstatus="1" data-lstatus="1" kcode="' + AllAnswer[i].kcode + '" hitcode="' + AllAnswer[i].hitcode + '">' + ReStr + '</span>';
-            }
-            else if (checkStrFunc(AllAnswer[i].ID) && AllAnswer[i].Type == "phrase") {
-                // 检查是否属于高亮,存在需要恢复显示高亮(加class)
-                ReStr = PrevReStr + '<span id="' + AllAnswer[i].ID + '" name="P' + AllAnswer[i].ID + '" flag="phrase" class="phraseStyle" data-setstatus="1" data-lstatus="1" kcode="' + AllAnswer[i].kcode + '" hitcode="' + AllAnswer[i].hitcode + '">' + ReStr + '</span>';
-            }
-            else if (checkStrFunc(AllAnswer[i].ID) && AllAnswer[i].Type == "word") {
-                // 检查是否属于高亮,存在需要恢复显示高亮(加class)
-                ReStr = PrevReStr + '<span id="' + AllAnswer[i].ID + '" name="W' + AllAnswer[i].ID + '" flag="word" class="wordStyle" data-setstatus="1" data-lstatus="1" kcode="' + AllAnswer[i].kcode + '" hitcode="' + AllAnswer[i].hitcode + '">' + ReStr + '</span>';
-            }
-            else {
-                ReStr = PrevReStr + ReStr;
-            }
-            ReArr.push(ReStr);
-        }
-        else if (i != (AllAnswer.length - 1)) {
-            ReArr.push("");
-        }
-        else {
-            if (checkStrFunc(AllAnswer[i].ID) && AllAnswer[i].Type == "sentence") {
-                // 检查是否属于高亮,存在需要恢复显示高亮
-                mytext = mytextArr[0] + '<img src="' + PicInfo.sentenceIcoUrl + '" class="sentImagcs" data-lstatus="3" data-setstatus="1"><span id="' + AllAnswer[i].ID + '" name="S' + AllAnswer[i].ID + '" flag="sentence" class="sentenceStyle" data-setstatus="1" data-lstatus="1" kcode="' + AllAnswer[i].kcode + '" hitcode="' + AllAnswer[i].hitcode + '">' + ReStr + '</span>' + mytextArr[1];
-            }
-            else if (checkStrFunc(AllAnswer[i].ID) && AllAnswer[i].Type == "phrase") {
-                // 检查是否属于高亮,存在需要恢复显示高亮(加class)
-                mytext = mytextArr[0] + '<span id="' + AllAnswer[i].ID + '" name="P' + AllAnswer[i].ID + '" flag="phrase" class="phraseStyle" data-setstatus="1" data-lstatus="1" kcode="' + AllAnswer[i].kcode + '" hitcode="' + AllAnswer[i].hitcode + '">' + ReStr + '</span>' + mytextArr[1];
-            }
-            else if (checkStrFunc(AllAnswer[i].ID) && AllAnswer[i].Type == "word") {
-                // 检查是否属于高亮,存在需要恢复显示高亮(加class)
-                mytext = mytextArr[0] + '<span id="' + AllAnswer[i].ID + '" name="W' + AllAnswer[i].ID + '" flag="word" class="wordStyle" data-setstatus="1" data-lstatus="1" kcode="' + AllAnswer[i].kcode + '" hitcode="' + AllAnswer[i].hitcode + '">' + ReStr + '</span>' + mytextArr[1];
-            }
-            ReArr.push(mytext);
-        }
-    }
-    return ReArr;
-}
-
-
-
-
 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 // 处理节点(使用data-scolor显示的颜色等级卡控,data-setstatus高亮是否处于显示状态,data-lstatus:卡控是否能点击(1单词,2短语,3句型))
 //页面加载完,课件 绑定事件(sWidthVal:屏幕宽度,isAStatus是否含有作答0表示没有,isMAStatus判断是否是主体课文1表示是)
@@ -1201,7 +1107,7 @@ function bindEventYS(sWidthVal, isAStatus, isMAStatus) {
             if ($(item).hasClass('boxQue')) {
                 $(item).find('.yaoshi').attr('answer-isky', "2");
                 if ($(item).find(".underlineContent").length == 0) {
-                    var AddHtmlStr = '<span class="ULCBGUse" data-select="0" onselectstart="return true"><u class="underlineContent" yaoshi-flag="' + checkId + '" parent-anid="' + headid + '" data-errstatus="0" showflag="1" style="border-bottom: 1px solid rgb(151, 151, 151); text-decoration: none; white-space: pre-wrap;">&nbsp;&nbsp;&nbsp;</u></span>';
+                    var AddHtmlStr = '<span class="ULCBGUse" data-select="0" onselectstart="return true"><u class="underlineContent" yaoshi-flag="' + checkId + '" parent-anid="' + headid + '" data-errstatus="0" showflag="1" style="border-bottom: 1px solid rgb(151, 151, 151); text-decoration: none; white-space: pre-wrap;" ucflag="1">&nbsp;&nbsp;&nbsp;</u></span>';
                     $(item).find('.yaoshi').after(AddHtmlStr);
                 }
             }
@@ -1282,7 +1188,7 @@ function bindEventTeaOrignalYS(sWidthVal, isAStatus, isMAStatus) {
             if ($(item).hasClass('boxQue')) {
                 $(item).find('.yaoshi').attr('answer-isky', "2");
                 if ($(item).find(".underlineContent").length == 0) {
-                    var AddHtmlStr = '<span class="ULCBGUse" data-select="0" onselectstart="return true"><u class="underlineContent" yaoshi-flag="' + checkId + '" parent-anid="' + headid + '" data-errstatus="0" showflag="1" style="border-bottom: 1px solid rgb(151, 151, 151); text-decoration: none; white-space: pre-wrap;">&nbsp;&nbsp;&nbsp;</u></span>';
+                    var AddHtmlStr = '<span class="ULCBGUse" data-select="0" onselectstart="return true"><u class="underlineContent" yaoshi-flag="' + checkId + '" parent-anid="' + headid + '" data-errstatus="0" showflag="1" style="border-bottom: 1px solid rgb(151, 151, 151); text-decoration: none; white-space: pre-wrap;" ucflag="1">&nbsp;&nbsp;&nbsp;</u></span>';
                     $(item).find('.yaoshi').after(AddHtmlStr);
                 }
             }
@@ -1381,7 +1287,8 @@ function getAllAnswer() {
         }
         TAnswerList.push(info);
     });
-    return backupAllAnswer(JSON.stringify(TAnswerList), 1);
+    backupAllAnswer(JSON.stringify(TAnswerList), 1);
+    return TAnswerList;
 }
 
 //接收学生的作答
@@ -1472,7 +1379,7 @@ function backupAllAnswer(answerJson, statusType) {
                 }
                 //提交直接还原作答现场
                 var mytext = answerList[index].Text;//我的答案
-                var CheckFlag = (mytext == "√") ? true : false;
+                var CheckFlag = (mytext.indexOf("√") > -1) ? true : false;
                 // 恢复多选处理
                 if (CheckFlag) {
                     $(".cBoxCls[answer-id='" + answerid + "']").attr("data-status", "1");
@@ -1575,7 +1482,7 @@ function backupAllAnswer(answerJson, statusType) {
                 }
                 //提交直接还原作答现场
                 var mytext = answerList[index].Text;//我的答案
-                var CheckFlag = (mytext == "√") ? true : false;
+                var CheckFlag = (mytext.indexOf("√") > -1) ? true : false;
                 $(item).attr("answer-score", answerList[index].Score);  //作答评分
                 $(item).attr("answer-text", mytext);  // 作答内容
                 $(item).attr("answer-comment", "");  // 作答内容
@@ -1622,33 +1529,81 @@ function backupAllAnswer(answerJson, statusType) {
                         $(".underlineContent[yaoshi-flag='" + answerid + "']").attr("data-errstatus", "0");  // 已作答
                     }
                     else {
-                        var AllAnswer = [];  // 记录所有标准答案
-                        $.each($(".underlineContent[yaoshi-flag='" + answerid + "']").find("span"), function (tIndex, tItem) {
-                            var TVal = ChangeSpaceStr($(tItem).text());
-                            var infos = { ID: $(tItem).attr("id"), Type: $(tItem).attr("flag"), Val: TVal, kcode: $(tItem).attr("kcode"), hitcode: $(tItem).attr("hitcode") };
-                            AllAnswer.push(infos);
-                        });
-                        mytext = ChangeSpaceStr(mytext);
-                        var ReArr = SplitUserAnswer(AllAnswer, mytext);
-                        if (ReArr != null && ReArr.length > 0) {
-                            var NMyText = "";
-                            for (var i = 0; i < ReArr.length; i++) {
-                                NMyText += ReArr[i];
-                            }
-                            if ($(".underlineContent[yaoshi-flag='" + answerid + "']").find(".answer-audio-range-child").length > 0) {
-                                $(".underlineContent[yaoshi-flag='" + answerid + "']").find(".answer-audio-range-child").html(NMyText);
+                        var NHtmlStr = ChangeSpaceStr(mytext);  // 变动的结构
+                        // 判断是否被包含
+                        if ($("span[flag='sentence'],span[flag='phrase'],span[flag='word']").find(".underlineContent[yaoshi-flag='" + answerid + "']").length > 0) {
+                            var OHtmlVal = $("span[flag='sentence'],span[flag='phrase']").find(".underlineContent[yaoshi-flag='" + answerid + "']").text();
+                            OHtmlVal = ChangeSpaceStr(OHtmlVal);
+                            // 不需要处理,直接填入即可,判断是否需要显示高亮
+                            if (NHtmlStr != OHtmlVal) {
+                                // 直接不高亮
+                                var WTrue = true;
+                                var PHandle = $(".underlineContent[yaoshi-flag='" + answerid + "']");
+                                do {
+                                    var ClsName = PHandle.parent()[0].tagName.toUpperCase();
+                                    var TFlag = PHandle.parent().attr("flag");
+                                    if (ClsName == "SPAN" && TFlag != null && (TFlag == "sentence" || TFlag == "phrase")) {
+                                        PHandle.parent().attr("data-setstatus", "0").attr("data-lstatus", "0")
+                                        WTrue = false;
+                                    }
+                                    PHandle = PHandle.parent()
+                                } while (WTrue);
                             }
                             else {
-                                $(".underlineContent[yaoshi-flag='" + answerid + "']").html(NMyText);
+                                // 直接高亮
+                                var WTrue = true;
+                                var PHandle = $(".underlineContent[yaoshi-flag='" + answerid + "']");
+                                do {
+                                    var ClsName = PHandle.parent()[0].tagName.toUpperCase();
+                                    var TFlag = PHandle.parent().attr("flag");
+                                    if (ClsName == "SPAN" && TFlag != null && TFlag == "sentence") {
+                                        PHandle.parent().attr("data-setstatus", "1").attr("data-lstatus", "3");
+                                        WTrue = false;
+                                    }
+                                    else if (ClsName == "SPAN" && TFlag != null && TFlag == "phrase") {
+                                        PHandle.parent().attr("data-setstatus", "1").attr("data-lstatus", "2");
+                                        WTrue = false;
+                                    }
+                                    PHandle = PHandle.parent()
+                                } while (WTrue);
                             }
                         }
+                        // 判断是否包含
+                        if ($(".underlineContent[yaoshi-flag='" + answerid + "']").find("span[flag='sentence'],span[flag='phrase'],span[flag='word']").length > 0) {
+                            $.each(TFillData, function (aIndex, aItem) {
+                                if ($(".underlineContent[yaoshi-flag='" + answerid + "']").find("span[id='" + aItem.HightCode + "']").length > 0) {
+                                    var TFlag = $(".underlineContent[yaoshi-flag='" + answerid + "']").find("span[id='" + aItem.HightCode + "']").attr("flag");
+                                    var TIskeyklg = $(".underlineContent[yaoshi-flag='" + answerid + "']").find("span[id='" + aItem.HightCode + "']").attr("iskeyklg");
+                                    var TEspflag = $(".underlineContent[yaoshi-flag='" + answerid + "']").find("span[id='" + aItem.HightCode + "']").attr("espflag");
+                                    var TKtype = $(".underlineContent[yaoshi-flag='" + answerid + "']").find("span[id='" + aItem.HightCode + "']").attr("ktype");
+                                    var TText = $(".underlineContent[yaoshi-flag='" + answerid + "']").find("span[id='" + aItem.HightCode + "']").text();
+                                    TText = ChangeSpaceStr(TText);
+                                    var IndexVal = NHtmlStr.toUpperCase().indexOf(TText.toUpperCase());
+                                    TText = NHtmlStr.substring(IndexVal, IndexVal + TText.length);
+                                    if (TFlag == "sentence" && IndexVal > -1) {
+                                        var TNHtmlArr = NHtmlStr.split(TText);
+                                        var RHtml = TNHtmlArr[0] + ' <span id="' + aItem.HightCode + '" class="sentenceStyle" name="S' + aItem.HightCode + '" flag="sentence" iskeyklg="' + TIskeyklg + '" espflag="' + TEspflag + '" ktype="' + TKtype + '" kcode="' + aItem.HightCode + "|" + aItem.SourceCode + '" data-setstatus="1" data-lstatus="3" onselectstart="return true">' + TText + '</span> ' + TNHtmlArr[1];
+                                        NHtmlStr = NHtmlStr.replace(TText, RHtml);
+                                    }
+                                    else if (TFlag == "phrase" && IndexVal > -1) {
+                                        var TNHtmlArr = NHtmlStr.split(TText);
+                                        var RHtml = TNHtmlArr[0] + ' <span id="' + aItem.HightCode + '" class="phraseStyle" name="P' + aItem.HightCode + '" flag="phrase" iskeyklg="' + TIskeyklg + '" espflag="' + TEspflag + '" ktype="' + TKtype + '" kcode="' + aItem.HightCode + "|" + aItem.SourceCode + '" data-setstatus="1" data-lstatus="2" onselectstart="return true">' + TText + '</span> ' + TNHtmlArr[1];
+                                        NHtmlStr = NHtmlStr.replace(TText, RHtml);
+                                    }
+                                    else if (TFlag == "word" && IndexVal > -1) {
+                                        var TNHtmlArr = NHtmlStr.split(TText);
+                                        var RHtml = TNHtmlArr[0] + ' <span id="' + aItem.HightCode + '" class="wordStyle" name="W' + aItem.HightCode + '" flag="word" iskeyklg="' + TIskeyklg + '" espflag="' + TEspflag + '" ktype="' + TKtype + '" kcode="' + aItem.HightCode + "|" + aItem.SourceCode + '" data-setstatus="1" data-lstatus="1" onselectstart="return true">' + TText + '</span> ' + TNHtmlArr[1];
+                                        NHtmlStr = NHtmlStr.replace(TText, RHtml);
+                                    }
+                                }
+                            });
+                        }
+                        // 填入高亮
+                        if ($(".underlineContent[yaoshi-flag='" + answerid + "']").find(".answer-audio-range-child").length > 0) {
+                            $(".underlineContent[yaoshi-flag='" + answerid + "']").find(".answer-audio-range-child").html(NHtmlStr);
+                        }
                         else {
-                            if ($(".underlineContent[yaoshi-flag='" + answerid + "']").find(".answer-audio-range-child").length > 0) {
-                                $(".underlineContent[yaoshi-flag='" + answerid + "']").find(".answer-audio-range-child").html(mytext);
-                            }
-                            else {
-                                $(".underlineContent[yaoshi-flag='" + answerid + "']").html(mytext);
-                            }
+                            $(".underlineContent[yaoshi-flag='" + answerid + "']").html(NHtmlStr);
                         }
                         // 恢复多选处理
                         if (CheckFlag) {
@@ -1693,23 +1648,126 @@ function backupAllAnswer(answerJson, statusType) {
                         $(".underlineContent[yaoshi-flag='" + answerid + "']").attr("data-errstatus", "0");  // 已作答
                     }
                     else {
-                        var AllAnswer = [];  // 记录所有标准答案
-                        $.each($(".underlineContent[yaoshi-flag='" + answerid + "']"), function (tIndex, tItem) {
-                            $.each($(tItem).find("span"), function (oIndex, oItem) {
-                                var TVal = ChangeSpaceStr($(oItem).text());
-                                var infos = { ID: $(oItem).attr("id"), Type: $(oItem).attr("flag"), Val: TVal, kcode: $(oItem).attr("kcode"), hitcode: $(oItem).attr("hitcode") };
-                                AllAnswer.push(infos);
+                        var NHtmlStr = ChangeSpaceStr(mytext);  // 变动的结构
+                        var NHtmlArr = [];
+                        // 判断是否被包含
+                        if ($("span[flag='sentence'],span[flag='phrase'],span[flag='word']").find(".underlineContent[yaoshi-flag='" + answerid + "']").length > 0) {
+                            var TTNHtmlStr = NHtmlStr;  // 用来判断是否相等
+                            var TrueFlag = true;  // 判断是否全部正确
+                            $.each($("span[flag='sentence'],span[flag='phrase'],span[flag='word']").find(".underlineContent[yaoshi-flag='" + answerid + "']"), function (iIndex,iItem) {
+                                var TUCText = $(this).text();
+                                TUCText = ChangeSpaceStr(TUCText);
+                                if (TTNHtmlStr.indexOf(TUCText) == 0) {
+                                    TTNHtmlStr = TTNHtmlStr.replace(TUCText, "");  // 在用户答案头部
+                                    NHtmlArr.push(TUCText);
+                                }
+                                else if (TTNHtmlStr.substring((TTNHtmlStr.length - TUCText.length), TTNHtmlStr.length).toUpperCase() == TUCText.toUpperCase()) {
+                                    var TWBHtmlStr = TTNHtmlStr.substring((TTNHtmlStr.length - TUCText.length), TTNHtmlStr.length);
+                                    TTNHtmlStr = TTNHtmlStr.replace(TWBHtmlStr, "");  // 在用户答案在尾部
+                                    NHtmlArr.push(TWBHtmlStr);
+                                }
+                                else {
+                                    TrueFlag = false;   // 标准答案既不在头部也不再尾部就是错误的,不存在半包含关系跨越式(i've [given) up]
+                                }
+                                if (!TrueFlag) {
+                                    // 关闭高亮
+                                    var WTrue = true;
+                                    var PHandle = $(this);
+                                    do {
+                                        var ClsName = PHandle.parent()[0].tagName.toUpperCase();
+                                        var TFlag = PHandle.parent().attr("flag");
+                                        if (ClsName == "SPAN" && TFlag != null && (TFlag == "sentence" || TFlag == "phrase")) {
+                                            PHandle.parent().attr("data-setstatus", "0").attr("data-lstatus", "0");
+                                            WTrue = false;
+                                        }
+                                        PHandle = PHandle.parent()
+                                    } while (WTrue);
+                                }
                             });
-                        });
-                        mytext = ChangeSpaceStr(mytext);
-                        var ReArr = SplitUserAnswer(AllAnswer, mytext);
-                        $(".underlineContent[yaoshi-flag='" + answerid + "']").html("");
-                        for (var i = 0; i < ReArr.length; i++) {
-                            if ($(".underlineContent[yaoshi-flag='" + answerid + "']").find(".answer-audio-range-child").length > 0 && i == 0) {
-                                $(".underlineContent[yaoshi-flag='" + answerid + "']").find(".answer-audio-range-child").eq(0).html(ReArr[0]);
+                        }
+                        // 判断是否包含
+                        if ($(".underlineContent[yaoshi-flag='" + answerid + "']").find("span[flag='sentence'],span[flag='phrase'],span[flag='word']").length > 0) {
+                            $.each(TFillData, function (aIndex, aItem) {
+                                if ($(".underlineContent[yaoshi-flag='" + answerid + "']").find("span[id='" + aItem.HightCode + "']").length > 0) {
+                                    var TFlag = $(".underlineContent[yaoshi-flag='" + answerid + "']").find("span[id='" + aItem.HightCode + "']").attr("flag");
+                                    var TIskeyklg = $(".underlineContent[yaoshi-flag='" + answerid + "']").find("span[id='" + aItem.HightCode + "']").attr("iskeyklg");
+                                    var TEspflag = $(".underlineContent[yaoshi-flag='" + answerid + "']").find("span[id='" + aItem.HightCode + "']").attr("espflag");
+                                    var TKtype = $(".underlineContent[yaoshi-flag='" + answerid + "']").find("span[id='" + aItem.HightCode + "']").attr("ktype");
+                                    var TText = $(".underlineContent[yaoshi-flag='" + answerid + "']").find("span[id='" + aItem.HightCode + "']").text();
+                                    TText = ChangeSpaceStr(TText);
+                                    if (TFlag == "sentence" && NHtmlStr.indexOf(TText) > -1) {
+                                        var RHtml = '<span id="' + aItem.HightCode + '" name="S' + aItem.HightCode + '" flag="sentence" iskeyklg="' + TIskeyklg + '" espflag="' + TEspflag + '" ktype="' + TKtype + '" kcode="' + aItem.HightCode + "|" + aItem.SourceCode + '" onselectstart="return true"></span>';
+                                        NHtmlStr = NHtmlStr.replace(TText, RHtml);
+                                        if (NHtmlArr != null && NHtmlArr.indexOf(TText) > -1) {
+                                            // 存在的话,同时替换便于一会更新
+                                            for (var i = 0; i < NHtmlArr.length; i++) {
+                                                if (NHtmlArr[i] == TText) {
+                                                    NHtmlArr[i] = RHtml;
+                                                }
+                                            }
+                                        }
+                                    }
+                                    else if (TFlag == "phrase" && NHtmlStr.indexOf(TText) > -1) {
+                                        var RHtml = '<span id="' + aItem.HightCode + '" name="P' + aItem.HightCode + '" flag="phrase" iskeyklg="' + TIskeyklg + '" espflag="' + TEspflag + '" ktype="' + TKtype + '" kcode="' + aItem.HightCode + "|" + aItem.SourceCode + '" onselectstart="return true"></span>';
+                                        NHtmlStr = NHtmlStr.replace(TText, RHtml);
+                                        if (NHtmlArr != null && NHtmlArr.indexOf(TText) > -1) {
+                                            // 存在的话,同时替换便于一会更新
+                                            for (var i = 0; i < NHtmlArr.length; i++) {
+                                                if (NHtmlArr[i] == TText) {
+                                                    NHtmlArr[i] = RHtml;
+                                                }
+                                            }
+                                        }
+                                    }
+                                    else if (TFlag == "word" && NHtmlStr.indexOf(TText) > -1) {
+                                        var RHtml = '<span id="' + aItem.HightCode + '" name="W' + aItem.HightCode + '" flag="word" iskeyklg="' + TIskeyklg + '" espflag="' + TEspflag + '" ktype="' + TKtype + '" kcode="' + aItem.HightCode + "|" + aItem.SourceCode + '" onselectstart="return true"></span>';
+                                        NHtmlStr = NHtmlStr.replace(TText, RHtml);
+                                        if (NHtmlArr != null && NHtmlArr.indexOf(TText) > -1) {
+                                            // 存在的话,同时替换便于一会更新
+                                            for (var i = 0; i < NHtmlArr.length; i++) {
+                                                if (NHtmlArr[i] == TText) {
+                                                    NHtmlArr[i] = RHtml;
+                                                }
+                                            }
+                                        }
+                                    }
+                                }
+                            });
+                        }
+                        if (NHtmlArr != null && NHtmlArr.length > 0) {
+                            // 存在被包含
+                            var NAHtmlArr = [];
+                            while (NHtmlArr != null && NHtmlArr.length > 0) {
+                                if (NAHtmlArr == null || NAHtmlArr.length == 0) {
+                                    var TNHtmlArr=NHtmlArr.shift();
+                                    NAHtmlArr = NHtmlStr.split(TNHtmlArr);
+                                    NAHtmlArr.splice(1, 0, TNHtmlArr)
+                                }
+                                else {
+                                    var TNHtmlArr = NHtmlArr.shift();
+                                    for (var i = 0; i < NAHtmlArr.length; i++) {
+                                        if (NAHtmlArr[i].indexOf(TNHtmlArr) > -1) {
+                                            var TNAHtmlArr = NAHtmlArr[i];
+                                            var TTNAHtmlArr = TNAHtmlArr.split(TNHtmlArr);
+                                            NAHtmlArr.splice(i, 1, TTNAHtmlArr[0]);
+                                            NAHtmlArr.splice(i, 0,TNHtmlArr);
+                                            NAHtmlArr.splice(i, 0,TTNAHtmlArr[1]);
+                                        }
+                                    }
+                                }
+                            }
+                            $.each($(".underlineContent[yaoshi-flag='" + answerid + "']"), function (iIndex, iItem) {
+                                $(this).html(NAHtmlArr[iIndex]);
+                            });
+                        }
+                        else {
+                            // 不存在被包含,随便放一个都行
+                            $(".underlineContent[yaoshi-flag='" + answerid + "']").html("");
+                            if ($(".underlineContent[yaoshi-flag='" + answerid + "']").find(".answer-audio-range-child").length > 0){
+                                $(".underlineContent[yaoshi-flag='" + answerid + "']").find(".answer-audio-range-child").eq(0).html(NHtmlStr);
                             }
                             else {
-                                $(".underlineContent[yaoshi-flag='" + answerid + "']").eq(i).html(ReArr[i]);
+                                $(".underlineContent[yaoshi-flag='" + answerid + "']").eq(0).html(NHtmlStr);
                             }
                         }
                         $(".underlineContent[yaoshi-flag='" + answerid + "']").attr("data-errstatus", "0");  // 已作答
@@ -2240,14 +2298,6 @@ function recordAudioClick(myobj, id, url) {
     $(".ULCBGUse").attr("data-select", "0");
     $(myobj).parent(".underlineContent").parent(".ULCBGUse").attr("data-select", "1");
     $(myobj).parent().parent("answer-body").addClass("select-answer");
-
-
-
-    var TStr = $("#STIDStr").text() + "=>" + $(myobj).attr("play-status");
-    $("#STIDStr").text(TStr);
-
-
-
     //处理当前按钮的状态
     if ($(myobj).attr("play-status") == "0") {
         //停止其他作答音频播放