//播放音频图片地址 var PicInfo = { answerPointImgUrl: "file:///android_asset/js/update-answer.png", yaoshiShowImgUrl: "file:///android_asset/js/yaoshi-show.png", yaoshiHideImgUrl: "file:///android_asset/js/yaoshi-hide.png", recordPlayImgUrl: "file:///android_asset/js/play.png", recordPauseImgUrl: "file:///android_asset/js/pause.png", audioPlayImgUrl: "file:///android_asset/js/dynaiselaba.gif", audioPauseImgUrl: "file:///android_asset/js/dynaiselaba.png" } //本地调用用的资源 var PicInfo1 = { answerPointImgUrl: "../Images/update-answer.png", yaoshiShowImgUrl: "../Images/yaoshi-show.png", yaoshiHideImgUrl: "../Images/yaoshi-hide.png", KouYuTagImgUrl: "../Images/KY.png", recordPlayImgUrl: "../Images/play.png", recordPauseImgUrl: "../Images/pause.png", audioPlayImgUrl: "../Images/dynaiselaba.gif", audioPauseImgUrl: "../Images/dynaiselaba.png" } //显示、隐藏答案 function showHideAnswer(flag) { if (flag) { //$(".underlineContent").show(); $(".underlineContent").css("color", "#92D050"); $(".yaoshi").attr("src", PicInfo.yaoshiShowImgUrl); $.each($(".underlineContent"), function (index, item) { var underlineContentText = $(this).text(); // 获取文本内容 var widthValue = $(item).css("width"); var newClsName = $(item).next().attr("class"); if (newClsName != "underlineContentShow") { var addHtml = ""; if (hasChineseWorld(underlineContentText)) { addHtml = " "; } else { addHtml = " "; } $(item).css("display", "inline-block").after(addHtml); } else { $(item).css("display", "inline-block").next().attr("data-status", "0"); } if (underlineContentText.indexOf("√") > -1) { $(this).parent().find(".checkbox").find("input").prop('checked', true); } }); } else { //$(".underlineContent").hide(); $(".underlineContent").css("color", "#ffffff"); $(".yaoshi").attr("src", PicInfo.yaoshiHideImgUrl); $.each($(".underlineContent,.underlineContent.no-answer"), function (index, item) { var underlineContentText = $(this).text(); // 获取文本内容 var widthValue = $(item).css("width"); var newClsName = $(item).next().attr("class"); if (newClsName != "underlineContentShow") { var addHtml = ""; if (hasChineseWorld(underlineContentText)) { addHtml = " "; } else { addHtml = " "; } $(item).css("display", "none").after(addHtml); $(item).next().attr("data-status", "1"); } else { $(item).css("display", "none").next().attr("data-status", "1"); } if (underlineContentText.indexOf("√") > -1) { $(this).parent().find(".checkbox").find("input").prop('checked', false); } }); } } ///显示、隐藏钥匙及答案 isShowYX:显示和隐藏钥匙,isShowAS:显示和隐藏答案 function showHideAnswerEx(isShowYX, isShowAS) { if (isShowYX) { $(".yaoshi").show(); } else { $(".yaoshi").hide(); } if (isShowAS) { $.each($(".underlineContent"), function (index, item) { var underlineContentText = $(this).text(); // 获取文本内容 var widthValue = $(item).css("width"); var newClsName = $(item).next().attr("class"); if (newClsName != "underlineContentShow") { var addHtml = ""; if (hasChineseWorld(underlineContentText)) { addHtml = " "; } else { addHtml = " "; } $(item).css("display", "inline-block").after(addHtml); } else { $(item).css("display", "inline-block").next().attr("data-status", "0"); } if (underlineContentText.indexOf("√") > -1) { $(this).parent().find(".checkbox").find("input").prop('checked', true); } //$(item).html($(item).attr("data-text")); if (!$(item).hasClass("no-answer")) { $(item).css("color", "#92D050"); } else { $(item).css("color", "#989898"); } $(item).find(".wordStyle").css("color", "#db5d00"); $(item).find(".phraseStyle").css("background-color", "#f2db8b"); }); $(".yaoshi").attr("data-status", "1"); $(".yaoshi").attr("src", PicInfo.yaoshiShowImgUrl); } else { $.each($(".underlineContent,.underlineContent.no-answer"), function (index, item) { var underlineContentText = $(this).text(); // 获取文本内容 var widthValue = $(item).css("width"); var newClsName = $(item).next().attr("class"); if (newClsName != "underlineContentShow") { var addHtml = ""; if (hasChineseWorld(underlineContentText)) { addHtml = " "; } else { addHtml = " "; } $(item).css("display", "none").after(addHtml); $(item).next().attr("data-status", "1"); } else { $(item).css("display", "none").next().attr("data-status", "1"); } if (underlineContentText.indexOf("√") > -1) { $(this).parent().find(".checkbox").find("input").prop('checked', false); } $(item).css("color", "#ffffff"); $(item).find(".wordStyle").css("color", "#ffffff"); $(item).find(".phraseStyle").css("background-color", "#ffffff"); }); $(".yaoshi").attr("data-status", "0"); $(".yaoshi").attr("src", PicInfo.yaoshiHideImgUrl); } } //页面加载完,原文 绑定事件 function bindEventTeaOrignalYS() { var bodyWidth = $(document.body).width(); //显示/隐藏习题答案 $(".yaoshi").on("click", function () { var curDisplay = $(this).nextUntil(".yaoshi").find(".underlineContent").eq(0).css("display"); if (curDisplay == "undefined" || curDisplay == undefined) return; if (curDisplay == "none" || $(this).attr("data-status") == "0") { $(this).attr("data-status", "1"); $(this).attr("src", PicInfo.yaoshiShowImgUrl); //$(this).nextUntil(".yaoshi").find(".underlineContent").show(); //$(this).nextUntil(".yaoshi").find(".underlineContent").css("color", "#92D050"); $.each($(this).nextUntil(".yaoshi").find(".underlineContent"), function (index, item) { if (!$(item).hasClass("no-answer")) { $(item).css("color", "#92D050"); } else { $(item).css("color", "#989898"); } $(item).find(".wordStyle").css("color", "#db5d00"); $(item).find(".phraseStyle").css("background-color", "#f2db8b"); }); //不再存在已隐藏的钥匙,移动端回调 if ($(".yaoshi[data-status='0']").length == 0) { //添加回调 console.log("全部显示了"); } } else { $(this).attr("data-status", "0"); $(this).attr("src", PicInfo.yaoshiHideImgUrl); //$(this).nextUntil(".yaoshi").find(".underlineContent").hide(); //$(this).nextUntil(".yaoshi").find(".underlineContent").css("color", "#ffffff"); $.each($(this).nextUntil(".yaoshi").filter(".underlineContent"), function (index, item) { $(item).css("color", "#ffffff"); $(item).find(".wordStyle").css("color", "#ffffff"); $(item).find(".phraseStyle").css("background-color", "#ffffff"); }); //添加回调 onClickKeyHide(); } }); //处理答题点 $.each($(".underlineContent"), function (index, item) { $(item).attr("data-text", $(item).html()); }); //给音频绑定一个ID $.each($(".audioImg"), function (index, item) { $(item).attr("audiourl", ""); $(item).attr('audio-id', index); }); //给视频图标处理 $.each($(".videoImg"), function (index, item) { $(item).attr("audiourl", ""); }); //给口语图标处理 $.each($(".oralLanguageImg"), function (index, item) { $(item).attr("audiourl", ""); }); //去除多余的U空标签 $.each($("u"), function (index, item) { var text = $(item).text(); text = text.replace(/\s+/g, ""); if (text == "") { $(item).remove(); } }); //处理暂无参考答案 $.each($(".yaoshi"), function (index, item) { var prev = $(item).nextUntil(".yaoshi").find(".underlineContent"); if (prev.length == 0) { var spanHtml = document.createElement("span"); //添加子节点 var uHtml = document.createElement("u"); uHtml.className = "underlineContent no-answer"; uHtml.innerText = "暂无参考答案"; uHtml.setAttribute("data-text", uHtml.innerText); $(spanHtml).html(uHtml.outerHTML); $(item).after(spanHtml); } }); //处理表格宽度 $.each($(".container-table"), function (index, item) { $(item).css("width", bodyWidth + "px"); }); //点击喇叭事件,音频播放 $(".audioImg").on("click", function () { audioPlayClick(this); }); //点击播放事件,视频播放 $(".videoImg").on("click", function () { var curHtml = $(this).parent().find(".videoUrl").html(); var curAlt = $(this).attr("alt");//播放视频地址 playVisiableAudioCallBack(2, $(this).attr("alt")); }); //处理表格样式 $("td").attr("style", ""); } //页面加载完,课件 绑定事件 function bindEventYS() { var bodyWidth = $(document.body).width(); //不存在underline 属性下有内容,所以全部隐藏,若有就是源头数据有问题 $('.underline').css("display", "none"); $.each($(".yaoshi"), function (index, item) { $(item).attr('answer-id', index); }); //给音频绑定一个ID $.each($(".audioImg"), function (index, item) { $(item).attr("audiourl", ""); $(item).attr('audio-id', index); }); //给视频图标处理 $.each($(".videoImg"), function (index, item) { $(item).attr("audiourl", ""); }); //给口语图标处理 $.each($(".oralLanguageImg"), function (index, item) { $(item).attr("audiourl", ""); }); //去除多余的U空标签 $.each($("u"), function (index, item) { var text = $(item).text(); text = text.replace(/\s+/g, ""); if (text == "") { $(item).remove(); } }); //处理暂无参考答案 $.each($(".yaoshi"), function (index, item) { var parent = $(item).parent(); var prev = $(item).nextAll(".underlineContent"); if (prev.length == 0) { var uHtml = document.createElement("u"); uHtml.className = "underlineContent no-answer"; uHtml.innerText = "暂无参考答案"; if ($(parent)[0].tagName == 'P') { if ($(parent).hasClass('correntQue') || $(parent).hasClass('boxQue')) { uHtml.innerHTML = " "; } } uHtml.setAttribute("data-text", uHtml.innerText); $(item).after(uHtml); } }); //处理表格宽度 $.each($(".container-table"), function (index, item) { $(item).css("width", bodyWidth + "px"); }); //获取两个之间的答题点 var checkId = 0; var headid = -1; var groupId = -1; $(".multipleStart").each(function (i, item) { var $startNode = $(item); $.merge($(item).nextUntil(".multipleEnd").filter("[class*='group']"), $(item).nextUntil(".multipleEnd").find("[class*='group']")).each(function (index, item) { checkId = $(item).find('.yaoshi').attr("answer-id"); var gid = $(item).attr('class').replace(/.*group(\d+).*/g, "$1"); if (index == 0 || groupId != gid) { groupId = gid; headid = checkId; } $(item).find('.yaoshi').attr('parent-anid', headid); }); }); //显示/隐藏习题答案 $(".yaoshi").on("click", function () { var parentAnid = $(this).attr("parent-anid"); if ($(this).attr("data-status") == "0") { // 显示处理 if (parentAnid != undefined) { $.each($(this).parents().find(".yaoshi[parent-anid='" + parentAnid + "']"), function (index, fItem) { $(fItem).attr("data-status", "1"); $(fItem).attr("src", PicInfo.yaoshiShowImgUrl); $.each($(fItem).parent().find(".underlineContent"), function (index, item) { var underlineContentText = $(this).text(); // 获取文本内容 var widthValue = $(item).css("width"); var newClsName = $(item).next().attr("class"); if (newClsName != "underlineContentShow") { var addHtml = ""; if (hasChineseWorld(underlineContentText)) { addHtml = " "; } else { addHtml = " "; } $(item).css("display", "inline-block").after(addHtml); } else { $(item).css("display", "inline-block").next().attr("data-status", "0"); } if (underlineContentText.indexOf("√") > -1) { $(this).parent().find(".checkbox").find("input").prop('checked', true); } if (!$(item).hasClass("no-answer")) { $(item).css("color", "#92D050"); } else { $(item).css("color", "#989898"); } $(item).find(".wordStyle").css("color", "#db5d00"); $(item).find(".phraseStyle").css("background-color", "#f2db8b"); }); }); } else{ $(this).attr("data-status", "1"); $(this).attr("src", PicInfo.yaoshiShowImgUrl); //$(this).nextUntil(".yaoshi").filter(".underlineContent").css("color", "#92D050"); $.each($(this).nextUntil(".yaoshi").filter(".underlineContent"), function (index, item) { var underlineContentText = $(this).text(); // 获取文本内容 var widthValue = $(item).css("width"); var newClsName = $(item).next().attr("class"); if (newClsName != "underlineContentShow") { var addHtml = ""; if (hasChineseWorld(underlineContentText)) { addHtml = " "; } else { addHtml = " "; } $(item).css("display", "inline-block").after(addHtml); } else { $(item).css("display", "inline-block").next().attr("data-status", "0"); } if (underlineContentText.indexOf("√") > -1) { $(this).parent().find(".checkbox").find("input").prop('checked', true); } if (!$(item).hasClass("no-answer")) { $(item).css("color", "#92D050"); } else { $(item).css("color", "#989898"); } $(item).find(".wordStyle").css("color", "#db5d00"); $(item).find(".phraseStyle").css("background-color", "#f2db8b"); }); } //不再存在已隐藏的钥匙,移动端回调 if ($(".yaoshi[data-status='0']").length == 0) { //添加回调 console.log("全部显示了"); } } else { // 隐藏处理 if (parentAnid != undefined) { $.each($(this).parents().find(".yaoshi[parent-anid='" + parentAnid + "']"), function (index, fItem) { $(fItem).attr("data-status", "0"); $(fItem).attr("src", PicInfo.yaoshiHideImgUrl); $.each($(fItem).parent().find(".underlineContent"), function (index, item) { var underlineContentText = $(this).text(); // 获取文本内容 var widthValue = $(item).css("width"); var newClsName = $(item).next().attr("class"); if (newClsName != "underlineContentShow") { var addHtml = ""; if (hasChineseWorld(underlineContentText)) { addHtml = " "; } else { addHtml = " "; } $(item).css("display", "none").after(addHtml); $(item).next().attr("data-status", "1"); } else { $(item).css("display", "none").next().attr("data-status", "1"); } if (underlineContentText.indexOf("√") > -1) { $(this).parent().find(".checkbox").find("input").prop('checked', false); } $(item).css("color", "#ffffff"); $(item).find(".wordStyle").css("color", "#ffffff"); $(item).find(".phraseStyle").css("background-color", "#ffffff"); }); }); } else { $(this).attr("data-status", "0"); $(this).attr("src", PicInfo.yaoshiHideImgUrl); //$(this).nextUntil(".yaoshi").filter(".underlineContent").css("color", "#ffffff"); $.each($(this).nextUntil(".yaoshi").filter(".underlineContent"), function (index, item) { var underlineContentText = $(this).text(); // 获取文本内容 var widthValue = $(item).css("width"); var newClsName = $(item).next().attr("class"); if (newClsName != "underlineContentShow") { var addHtml = ""; if (hasChineseWorld(underlineContentText)) { addHtml = " "; } else { addHtml = " "; } $(item).css("display", "none").after(addHtml); $(item).next().attr("data-status", "1"); } else { $(item).css("display", "none").next().attr("data-status", "1"); } if (underlineContentText.indexOf("√") > -1) { $(this).parent().find(".checkbox").find("input").prop('checked', false); } $(item).css("color", "#ffffff"); $(item).find(".wordStyle").css("color", "#ffffff"); $(item).find(".phraseStyle").css("background-color", "#ffffff"); }); } //添加回调 onClickKeyHide(); } }); //点击喇叭事件,音频播放 $(".audioImg").on("click", function () { audioPlayClick(this); }); //点击播放事件,视频播放 $(".videoImg").on("click", function () { $(this).attr("audiourl", ""); var curHtml = $(this).parent().find(".videoUrl").html(); var curAlt = $(this).attr("alt");//播放视频地址 playVisiableAudioCallBack(2, $(this).attr("alt")); }); //处理表格样式 $("td").attr("style", ""); $(".container-table").on("touchstart", function () { pressTableFlag = true; }).on("touchend", function () { pressTableFlag = false; }); } var pressTableFlag = false; // 移动端使用,true:表示点击表格且正在移动,需阻止模块切换 function getPressFlag() { alert(pressTableFlag); } // 判断是否存在中文(true表示存在) var hasChineseWorld = function (dataStr) { if (escape(dataStr).indexOf("%u") < 0) { return false; } else { return true; } }; //学生端 处理作答区域 var answerData = new Array(); function handleAnswerRange() { //规范文本格式 var answerId = ""; var tempJson = new Array(); //先处理一题多空的情况,获取两个之间的答题点 $(".multipleStart").each(function (i, item) { $.merge($(item).nextUntil(".multipleEnd").filter("[class*='group']"), $(item).nextUntil(".multipleEnd").find("[class*='group']")).each(function (index, item) { var checkId = $(item).find('.yaoshi').attr("answer-id"); var headid = $(item).find('.yaoshi').attr("parent-anid"); var ischecked = $(item).find(".underlineContent").text().indexOf("√") > -1; var answerText = ischecked ? "√" : ""; //勾选题 if ($(item).hasClass('boxQue')) { $(item).find('.yaoshi').after("
"); //$(item).find('input').prop('checked', ischecked); $(item).find('.underlineContent').hide(); } //点击事件 $(item).find('input').bind("click", function () { var curObj = new Object(); curObj.Id = $(this).parent().attr("answer-id");//答题点ID curObj.pId = $(this).parent().attr("parent-anid");//答题点ID curObj.IsKY = $(this).parent().attr("answer-isky");//是否是口语试题,0-不是口语题,1-是口语题,2-打勾题 //curObj.Text = $(this).parent().attr("answer-text");//用户作答内容 curObj.Score = $(this).parent().attr("answer-score");//作答评分 curObj.AnsText = $(this).parent().attr("answer-anstext");//参考答案 curObj.Comment = $(this).parent().attr("answer-comment");//评语 curObj.pId = curObj.pId ? curObj.pId : curObj.Id;//组ID curObj.Text = $(this).prop("checked") ? "√" : "";//用户作答内容 $(this).parent().attr("answer-text", curObj.Text);//用户作答内容 $(".checkbox").removeClass("select-answer"); $(".answer-body").removeClass("select-answer"); $(this).parent().addClass("select-answer"); //已作答,弹出作答答案 if ($(this).parent().data("ans-status") == "1") { //移动端添加外部处理 onClickAnswerPoint(JSON.stringify(curObj)); } else { //移动端添加外部处理,弹出作答操作 onClickAnswerPoint(JSON.stringify(curObj)); } }); //删除钥匙节点 $(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", "_"); } } $(item).remove(); }); //提取参考答案并规范文本格式 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).text(); tempJson.push(info); var prev = $(item).prev(); if (!$(prev).hasClass("checkbox")) { if (prev.length == 0 || $(prev).attr("class") != "tag-span") { //替换答案 $(item).prop("outerHTML", "_"); } else { $(item).remove(); } } }); //补充空钥匙的处理 $.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 = ""; var temptext = ""; for (var i = 0; i < tempJson.length; i++) { if (tempid == tempJson[i].Id) { temptext = temptext + tempJson[i].AnsText; } else { if (tempid != "") { var info = new Object(); info.Id = tempid; info.pId = temppid; info.AnsText = temptext; answerData.push(info); //重置 tempid = ""; temptext = ""; } tempid = tempJson[i].Id; temppid = tempJson[i].pId; temptext = tempJson[i].AnsText; //最后一个存入 if (i == tempJson.length - 1) { var info = new Object(); info.Id = tempid; info.pId = temppid; info.AnsText = temptext; answerData.push(info); } } } //补全答题点 var Num = 0; if (answerData.length > 0) { //Num = Number.parseInt(answerData[answerData.length - 1].Id); Num = Number.parseInt($(".yaoshi:last").attr('answer-id')); for (var i = 0; i < Num + 1; i++) { if (i < answerData.length) { var index = Number(answerData[i].Id) - i; for (var j = 0; j < index; j++) { var info = new Object(); info.Id = (i + j).toString(); info.pId = info.Id; info.AnsText = ""; answerData.splice(i, 0, info); } } else { var info = new Object(); info.Id = (i).toString(); info.pId = info.Id; info.AnsText = ""; answerData.splice(i, 0, info); } } } //添加答题点的点击UI及交互 $.each($(".tag-span"), function (index, item) { var answerText = ""; var isky = $(item).attr('answer-isky'); var answerid = $(item).attr('answer-id'); for (var i = 0; i < answerData.length; i++) { if (answerid == answerData[i].Id) { answerText = answerData[i].AnsText; break; } } $(item).prop("outerHTML", "