//播放音频图片地址(安卓)
var PicInfo1 = {
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",
sentenceIcoUrl: "file:///android_asset/js/sentenceIco.png"
}
//播放音频图片地址(iOS)
var PicInfo = {
yaoshiShowImgUrl: "yaoshi-show.png",
yaoshiHideImgUrl: "yaoshi-hide.png",
answerPointImgUrl: "update-answer.png",
recordPlayImgUrl: "play.png",
recordPauseImgUrl: "pause.png",
audioPlayImgUrl: "dynaiselaba.gif",
audioPauseImgUrl: "dynaiselaba.png",
speechAnswerImgUrl: "title_speech.png",
videoPlayImgUrl: "title_video.png",
KouYuTagImgUrl: "KY.png",
sentenceIcoUrl: "sentenceIco.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",
sentenceIcoUrl: "../Images/sentenceIco.png"
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 公用方法
// 检测安卓和ios
var cTTypeFunc = 2; // 安卓为1,iOS为2
//var cTTypeFunc = function () {
// var u = navigator.userAgent;
// //var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; //android终端
// //var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端
// if (u.indexOf('Android') > -1 || u.indexOf('Adr') > -1) {
// return 1;
// }
// else {
// return 2;
// }
//}();
// 删除叼毛题库原先附加无用属性
function dealUnderLineFunc() {
// 打理干净underline
$.each($('.underline').not(".underlineContent"), function () {
if ($(this).find(".underlineContent").length > 0) {
var ClsNmae = $(this).attr("class");
ClsNmae = ClsNmae.replace("underline", "").replace(" ", " ");
$(this).attr("class", ClsNmae);
}
else {
$(this).remove(); // 删除全部
}
});
// 删除全部underlineContent的颜色
$(".underlineContent").css("color", "");
// 删除要是的display
$.each($('.yaoshi'), function () {
var StyleStr = $(this).attr("style");
if (StyleStr == undefined || StyleStr == null || StyleStr == "") {
return;
}
var StyleArr = StyleStr.split(";");
StyleStr = "";
for (var i = 0; i < StyleArr.length; i++) {
if (StyleArr[i].indexOf("display") == -1 && StyleStr == "") {
StyleStr += StyleArr[i];
}
else if (StyleArr[i].indexOf("display") == -1 && StyleStr != "") {
StyleStr += ";" + StyleArr[i];
}
}
$(this).attr("style", StyleStr);
});
}
// 查找该img下的underlinecontent
function selectImgULContent(item, Id) {
var uLCClsName = item.attr("class");
var nItem = item.next();
var pItem = item.parent();
if (uLCClsName != undefined && uLCClsName.indexOf("yaoshi") > -1) {
// 到达下一个钥匙的位置了,终止
return;
}
if (uLCClsName != undefined && uLCClsName.indexOf("underlineContent") > -1 && uLCClsName.indexOf("noKey") == -1) {
// 如果为答题点,ucflag用户作答控制高亮,1表示作答内容存在高亮
item.attr("yaoshi-flag", Id).attr("parent-anid", 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("parent-anid", Id).attr("showflag", "1").attr("ucflag", "1");
});
}
else {
return selectImgULContent(item.children(":first"), Id); // 获取第一个子节点
}
if (nItem.length > 0) {
return selectImgULContent(nItem, Id);
}
else {
if (pItem[0] == undefined || pItem[0].tagName.toUpperCase() == "BODY") {
// 到达网页根节点,终止
return;
}
else {
return selectImgULContent(pItem.next(), Id);
}
}
}
// 点击事件样式渲染
var ClickRecFunc = function (pID) {
if (pID == undefined || pID == null || pID == "") {
return;
}
$(".answer-body").removeClass("select-answer");
var jqStr = ".answer-body[parent-anid='" + pID + "']";
$(jqStr).addClass("select-answer");
if ($(jqStr).attr("data-astatus") == "1") {
var curObj = new Object();
curObj.Id = $(jqStr).attr("answer-id");//答题点ID
curObj.pId = $(jqStr).attr("parent-anid");//答题点ID
curObj.IsKY = $(jqStr).attr("answer-isky");//是否是口语试题,0-不是口语题,1-是口语题
curObj.AnsText = $(jqStr).attr("answer-anstext");//参考答案
onClickAnswerPoint(JSON.stringify(curObj));
}
};
// #region 表格处理
var pressTableFlag = false;
// 处理表格内的图片宽度
var DealImageWFunc = function (Item, WidthVal) {
var pattWStr = new RegExp(/width\s?:\s?[0-9]+%;/ig);
var pattWStr2 = new RegExp(/width\s?=\s?["|'|0-9]+%/ig);
$.each($(Item).find("img").not(".nextpic"), function (index, iItem) {
var HtmlStr = $(iItem).prop("outerHTML");
var matchesWArr = HtmlStr.match(pattWStr);
if (matchesWArr != null && matchesWArr.length > 0) {
if (matchesWArr[0].indexOf("%") > -1) {
var TWidthVal = parseFloat(matchesWArr[0].replace(/\s/g, "").replace("width:", ""));
$(this).css("width", (WidthVal * TWidthVal / 100) + "px");
}
}
var matchesWArr = HtmlStr.match(pattWStr2);
if (matchesWArr != null && matchesWArr.length > 0) {
if (matchesWArr[0].indexOf("%") > -1) {
var TWidthVal = parseFloat(matchesWArr[0].replace(/\s/g, "").replace("\"", "").replace("width=", ""));
$(this).css("width", (WidthVal * TWidthVal / 100) + "px");
}
}
});
};
// 获取最大字符长度的字符串(起决定宽度的字符串/将字符去除HTML标签)
var removeHtmlFunc = function (htmlStr, TdWidthVal) {
var ReArr = {
TextStr: "",
WidthVal: 0,
ImgFlag: false,
};
// 清除非长度标签
var pattStr = new RegExp(/<(img){1}.*?>/ig);
var matchesArr = htmlStr.match(pattStr);
if (matchesArr != null && (matchesArr != undefined && matchesArr.length > 0)) {
for (var i = 0; i < matchesArr.length; i++) {
if (matchesArr[i].indexOf("nextpic") == -1) {
var TempWidthVal = 0;
var pattWStr = new RegExp(/width\s?:\s?[0-9|p|x|%]+;/ig);
var matchesWArr = matchesArr[i].match(pattWStr);
if (matchesWArr != null && matchesWArr.length > 0) {
if (matchesWArr[0].indexOf("%") > -1) {
var TWidthVal = parseFloat(matchesWArr[0].replace(/\s/g, "").replace("width:", ""));
TempWidthVal += TdWidthVal * TWidthVal;
}
else {
TempWidthVal += parseFloat(matchesWArr[0].replace(/\s/g, "").replace("width:", "").replace("px", ""));
}
}
pattWStr = new RegExp(/width\s?=\s?["|'|0-9|p|x|%]+/ig);
matchesWArr = matchesArr[i].match(pattWStr);
if (matchesWArr != null && matchesWArr.length > 0) {
if (matchesWArr[0].indexOf("%") > -1) {
var TWidthVal = parseFloat(matchesWArr[0].replace(/\s/g, "").replace("width=", ""));
TempWidthVal += TdWidthVal * TWidthVal;
} else {
TempWidthVal += parseFloat(matchesWArr[0].replace(/\s/g, "").replace("width=", "").replace("px", ""));
}
}
ReArr.WidthVal = TempWidthVal > ReArr.WidthVal ? TempWidthVal : ReArr.WidthVal;
if (ReArr.WidthVal != 0) {
ReArr.ImgFlag = true;
}
}
htmlStr = htmlStr.replace(matchesArr[i], "");
}
}
// 其他处理
pattStr = new RegExp(/(<(p){1}.*?>).*?(<\/\2>)/ig);
matchesArr = htmlStr.match(pattStr);
if (matchesArr != undefined && matchesArr.length > 0) {
// 清除匹配的P标签
for (var i = 0; i < matchesArr.length; i++) {
// 去除多标签
pattStr = new RegExp(/(<([a-z|A-Z]+){1}.*?>).*?(<\/\2>)/i);
var NewhtmlStr = matchesArr[i];
while (pattStr.test(NewhtmlStr)) {
var tTmatchesArr = NewhtmlStr.match(pattStr);
if (tTmatchesArr.length > 0) {
// 存在P标签
NewhtmlStr = NewhtmlStr.replace(tTmatchesArr[1], "").replace(tTmatchesArr[3], "");
}
}
// 去除单标签
pattStr = new RegExp(/(<([a-z|A-Z]+){1}\\s*\/\\s*>)/i);
while (pattStr.test(NewhtmlStr)) {
var tTmatchesArr = NewhtmlStr.match(pattStr);
if (tTmatchesArr.length > 0) {
// 存在P标签
NewhtmlStr = NewhtmlStr.replace(tTmatchesArr[1], "");
}
}
if (i == 0 || (htmlStr.length < NewhtmlStr.length)) {
htmlStr = NewhtmlStr;
}
}
}
else {
pattStr = new RegExp(/(<([a-z|A-Z]+){1}.*?>).*?(<\/\2>)/i); // 去除多标签
while (pattStr.test(htmlStr)) {
var tTmatchesArr = htmlStr.match(pattStr);
if (tTmatchesArr.length > 0) {
// 存在P标签
htmlStr = htmlStr.replace(tTmatchesArr[1], "").replace(tTmatchesArr[3], "");
}
}
// 去除单标签
pattStr = new RegExp(/(<([a-z|A-Z]+){1}\\s*\/\\s*>)/i);
while (pattStr.test(htmlStr)) {
var tTmatchesArr = htmlStr.match(pattStr);
if (tTmatchesArr.length > 0) {
// 存在P标签
htmlStr = htmlStr.replace(tTmatchesArr[1], "");
}
}
}
// 去除多空格
while (htmlStr.match(/\s\s/g)) {
htmlStr = htmlStr.replace(/\s\s/g, " ");
}
while (htmlStr.indexOf(" ") > -1) {
htmlStr = htmlStr.replace(" ", " ");
}
ReArr.TextStr = htmlStr;
return ReArr;
};
// 计算存在padding的表格
function GetPadVal(THandel) {
// 判断是否存在border
var BorderVal = 0;
var BorderStr = $(THandel).css("border-right-width");
if (BorderStr != null && BorderStr != "") {
BorderVal = parseFloat(BorderStr.replace("px").replace("PX"));
}
BorderStr = $(THandel).css("border-right-width");
if (BorderStr != null && BorderStr != "") {
BorderVal += parseFloat(BorderStr.replace("px").replace("PX"));
}
// 判断是否存在padding
var PaddingVal = $(THandel).css("padding");
if (PaddingVal == null || PaddingVal == "") {
PaddingVal = parseFloat($(THandel).css("padding-left")) + parseFloat($(THandel).css("padding-right"));
if (PaddingVal == null || PaddingVal == "") {
return BorderVal;
}
return BorderVal + PaddingVal;
}
var PadValArr = PaddingVal.split(" ");
if (PadValArr.length > 2) {
return BorderVal + parseFloat(PadValArr[1]) + parseFloat(PadValArr[3]);
}
else if (PadValArr.length > 1) {
return BorderVal + parseFloat(PadValArr[1]) * 2;
}
else {
return BorderVal + parseFloat(PadValArr[0]) * 2;
}
};
// 动态获取表格最小宽度设置(最小宽度165px)
var GetMinTableVal = function (TSWidth) {
if (TSWidth > 320) {
return 165 + (TSWidth - 320) * 0.09;
}
else {
return 165;
}
};
var AdjustTableFunc = function (sWidthVal, isAStatus) {
if ($("table").length == 0) {
return;
}
// 添加宽度处理
var ScreenWidth = sWidthVal;
var TempMinWidth = GetMinTableVal(ScreenWidth);
$(document.body).append('');
$("table").find(".yaoshi").addClass("nextpic");
$.each($("table"), function (index, item) {
// 处理表格总宽度
var ArrMaxLen = [];
var FJArrMaxLen = [];
var TableWidth = 0;
var TotalMaxLen = 0;
var RuleFlag = true; // 表示规则
var HasIndex = 0;
RSArrs = [];
var NewAStatus = (isAStatus == "undefined" || isAStatus == undefined || isAStatus == null) ? 0 : parseInt(isAStatus);
if (NewAStatus == 1) {
// 判断是否存在答题点
NewAStatus = $(item).find(".yaoshi").length > 0 ? 1 : 0;
}
var CheckBoxFlag = $(item).find(".boxQue").length > 0 && $(item).find(".boxQue").length == $(item).find(".yaoshi").length; // 判断是否是只存在多选框,定位对应的列
$.each($(item).find("tr"), function (trIndex, trItem) {
$.each($(trItem).find("td"), function (tdIndex, tdItem) {
var RowSpanNum = parseInt($(tdItem).attr("rowspan"));
var ColSpanNum = parseInt($(tdItem).attr("colspan"));
RowSpanNum = (RowSpanNum == 0 || isNaN(RowSpanNum)) ? 1 : RowSpanNum;
ColSpanNum = (ColSpanNum == 0 || isNaN(ColSpanNum)) ? 1 : ColSpanNum;
if (ColSpanNum > 1) {
RuleFlag = false;
}
if (RowSpanNum > 1) {
var RSArr = {
RSIndex: HasIndex,
RSNumber: RowSpanNum,
RSXIndex: tdIndex,
RSYIndex: trIndex
};
HasIndex += 1;
RSArrs.push(RSArr);
}
var WidthVal = $(tdItem).css("width").replace("px", "");
var RemoveHtmlArr = removeHtmlFunc($(tdItem).html(), WidthVal);
// 附加处理图片宽度
DealImageWFunc(trItem, WidthVal);
$("#pContrainId").text(RemoveHtmlArr.TextStr);
var tdWidthVal = $("#pContrainId").width() + parseFloat(RemoveHtmlArr.WidthVal); // 获取文字宽度
tdWidthVal += GetPadVal($(tdItem)) + 10;
if (!RemoveHtmlArr.ImgFlag && (tdWidthVal > ScreenWidth)) {
tdWidthVal = ScreenWidth;
}
// 判断是否需要设置最小宽度
if (tdWidthVal < TempMinWidth && NewAStatus == 1 && !CheckBoxFlag) {
tdWidthVal = TempMinWidth;
}
if (tdWidthVal < 100 && NewAStatus == 1 && !CheckBoxFlag) {
tdWidthVal = 100;
}
if (ArrMaxLen.length < tdIndex + 1) {
ArrMaxLen.push(0);
}
if (RSArrs.length > 0) {
for (var i = 0; i < RSArrs.length; i++) {
if (RSArrs[i].RSNumber > 1 && RSArrs[i].RSYIndex == trIndex) {
if (ArrMaxLen[tdIndex] < tdWidthVal && ColSpanNum == 1) {
TotalMaxLen += tdWidthVal - ArrMaxLen[tdIndex];
ArrMaxLen[tdIndex] = tdWidthVal;
}
}
}
}
else {
if (ArrMaxLen[tdIndex] < tdWidthVal && ColSpanNum == 1) {
TotalMaxLen += tdWidthVal - ArrMaxLen[tdIndex];
ArrMaxLen[tdIndex] = tdWidthVal;
}
else if (ColSpanNum > 1) {
var AddFlag = true;
for (var i = 0; i < FJArrMaxLen.length; i++) {
if (FJArrMaxLen[i].tdIndex == tdIndex) {
if (FJArrMaxLen[i].WidthVal < tdWidthVal) {
FJArrMaxLen[i].WidthVal = tdWidthVal;
AddFlag = false;
}
}
}
if (AddFlag) {
FJArrMaxLen.push({ trIndex: trIndex, tdIndex: tdIndex, WidthVal: tdWidthVal });
}
}
}
});
for (var i = 0; i < RSArrs.length; i++) {
if (RSArrs[i].RSNumber > 1) {
RSArrs[i].RSNumber -= 1;
}
else {
RSArrs.splice(i);
}
}
});
for (var i = 0; i < FJArrMaxLen.length; i++) {
for (var j = 0; j < ArrMaxLen.length; j++) {
if (ArrMaxLen[j] == 0 && FJArrMaxLen[i].tdIndex == j) {
ArrMaxLen[j] = FJArrMaxLen[i].WidthVal;
}
}
}
// 判断表格是否只有一行
if ($(item).find("tr").length == 1 && $(item).find("td").length == 1) {
$(item).find("tr").eq(0).find("td").eq(0).css("width", ScreenWidth + "px");
$(item).css("width", ScreenWidth + "px");
}
else {
if (TotalMaxLen < ScreenWidth) {
var AddPx = (ScreenWidth - TotalMaxLen) / ArrMaxLen.length;
AddPx = AddPx > 2 ? AddPx - 2 : AddPx;
for (var i = 0; i < ArrMaxLen.length; i++) {
ArrMaxLen[i] += AddPx;
}
}
var OneFlag = false;
for (var i = 0; i < ArrMaxLen.length; i++) {
if (ArrMaxLen[i] != undefined && ($(item).find("td").length > 1 || $(item).find("tr").length > 1) && RuleFlag) {
if (i < ArrMaxLen.length - 1) {
$(item).find("tr").find("td").eq(i).css("width", ArrMaxLen[i] + "px");
TableWidth += ArrMaxLen[i];
}
else {
$(item).find("tr").find("td").eq(i).css("width", (ArrMaxLen[i] - 10) + "px");
TableWidth += (ArrMaxLen[i] - 10);
}
}
else if (ArrMaxLen[i] != undefined && $(item).find("tr").length == 1 && $(item).find("td").length == 1) {
OneFlag = true;
if (ArrMaxLen.length - 1 == i) {
TableWidth += ArrMaxLen[i] - 10;
}
else {
TableWidth += ArrMaxLen[i];
}
}
}
if (ArrMaxLen != undefined && ($(item).find("td").length > 1 || $(item).find("tr").length > 1) && !RuleFlag) {
var TWAFlag = true;
$.each($(item).find("tr"), function (trIndex, trItem) {
if ($(trItem).find("td").length == ArrMaxLen.length) {
$.each($(trItem).find("td"), function (tdIndex, tdItem) {
if (TWAFlag) {
TableWidth += ArrMaxLen[tdIndex];
}
$(tdItem).css("width", ArrMaxLen[tdIndex] + "px");
});
TWAFlag = false;
}
});
}
if (OneFlag) {
$(item).find("tr").eq(0).find("td").eq(0).css("width", TableWidth + "px");
}
$(item).css("width", TableWidth + "px");
}
// 替换HTML
var ChildhtmlStr = $(item).prop("outerHTML");
var htmlStr = "
";
$(item).after(htmlStr);
$(item).remove();
var JqStr = ".TContain_" + index;
$(JqStr).append(ChildhtmlStr);
});
var BodyWidth = isNaN(parseFloat(ScreenWidth)) ? 0 : parseFloat(ScreenWidth); // 界面宽度
$.each($("table"), function (index, item) {
var TableWidth = isNaN(parseFloat($(item).width())) ? 0 : parseFloat($(item).width()); // 表格宽度
// 替换HTML
var JqStr = ".TContain_" + index;
$(JqStr).css("width", BodyWidth + "px");
if (TableWidth > BodyWidth) {
// 额外显示滚动条
var ShtmlStr = "";
$(JqStr).after(ShtmlStr);
var HiddenRate = BodyWidth / TableWidth; // 滚动条比率
var HiddenWidth = BodyWidth - (TableWidth - BodyWidth) * HiddenRate; // 现滚动条大小
var CShtmlStr = "";
$(JqStr).next().append(CShtmlStr);
}
else {
$(JqStr).css("margin-bottom", "15px");
}
});
$.each($(".container-table"), function (index, item) {
$(item).css("width", BodyWidth + "px");
});
// 滚动条事件
$(".TableContainer").on("touchstart", function () {
pressTableFlag = true;
}).on("touchmove", function () {
var TableWidth = isNaN(parseFloat($(this).find("table").width())) ? 0 : parseFloat($(this).find("table").width()); // 表格宽度
var HiddenRate = BodyWidth / TableWidth; // 滚动条比率
var SLeftWdith = isNaN(parseFloat($(this)[0].scrollLeft)) ? 0 : parseFloat($(this)[0].scrollLeft);
SLeftWdith *= HiddenRate;
var NextClsName = $(this).next().attr("class");
if (NextClsName == "PSBar") {
$(this).next().find(".CSBar").css("left", SLeftWdith + "px");
}
});
window.addEventListener("scroll", function (event) {
var ClsName = event.target.className;
if (ClsName == undefined) {
return;
}
ClsName = ClsName.replace("TableContainer ", ".");
var TableWidth = isNaN(parseFloat($(ClsName).find("table").width())) ? 0 : parseFloat($(ClsName).find("table").width()); // 表格宽度
var HiddenRate = BodyWidth / TableWidth; // 滚动条比率
var SLeftWdith = isNaN(parseFloat($(ClsName)[0].scrollLeft)) ? 0 : parseFloat($(ClsName)[0].scrollLeft);
SLeftWdith *= HiddenRate;
var NextClsName = $(ClsName).next().attr("class");
if (NextClsName == "PSBar") {
$(ClsName).next().find(".CSBar").css("left", SLeftWdith + "px");
}
}, true);
$("#pContrainId").remove();
};
// #endregion
//#region 听力音频处理
var LimitPreFlag = false; // 限制点击过宽
var AddListenDiv = function (NodeHandle, NIndex, sWidthVal) {
var UrlStr = $(NodeHandle).attr("alt");
var ListenDivWidth = sWidthVal;
ListenDivWidth = (ListenDivWidth > 414 ? 414 : ListenDivWidth);
if (UrlStr != null && UrlStr.indexOf("|") > -1) {
var UrlArr = UrlStr.split("|");
var UrlArrLen = UrlArr.length;
var htmlStr = '';
var MaxLeftVal = (ListenDivWidth - 295) / 2; // 自动调整宽度
var selectIndex = 0;
for (var i = 0; i < UrlArr.length; i++) {
var SelectedN = (i == 0 ? 1 : 0);
if (SelectedN) {
selectIndex = i;
}
htmlStr += '
听力材料' + (i + 1) + '
';
}
htmlStr += '
';
}
else if (UrlStr != null) {
var htmlStr = '';
}
$(NodeHandle).css("width", "1px").css("height", "1px").css("overflow", "hidden").after(htmlStr);
// 添加滑块事件
$(".LDFProcImg")[NIndex].addEventListener("touchstart", TouchStartFunc, false);
$(".LDFProcImg")[NIndex].addEventListener("touchmove", TouchMoveFunc, false);
$(".LDFProcImg")[NIndex].addEventListener("touchend", TouchEndFunc, false);
}
// 切换听力材料
var cLSourceFunc = function (iIndex, oIndex) {
pauseMusicFunc(iIndex);
var jQIStr = ".LDivTItem_" + iIndex;
var jQIOStr = ".LDivTItem_" + iIndex + '_' + oIndex;
$(jQIStr).attr("data-selected", 0);
$(jQIOStr).attr("data-selected", 1);
jQIStr = ".SImg_" + iIndex;
//var dataUrlLen = $(jQIStr).attr("data-urllen");
var LeftPx = 0;
var MLValStr = $(jQIStr).attr("data-mlval");
LeftPx = 50 + oIndex * (85 + parseInt(MLValStr));
$(jQIStr).css("left", LeftPx + "px");
}
// 暂停播放处理
var playMusicFunc = function (iIndex) {
if (LimitPreFlag) {
return;
}
else {
LimitPreFlag = true;
window.setTimeout(function () {
LimitPreFlag = false;
}, 500);
}
$(".select-answer").removeClass("select-answer");
var jQStr = ".LDFPlayS_" + iIndex;
var playStatus = $(jQStr).attr("data-playstatus"); // 检测当前状态,0表示暂停
var AudioUrl = $(jQStr).parent().prev(".LDivTop").find(".LDivTItem[data-selected='1']").attr("data-auduourl");
var AStatus = 0;
if (playStatus == "0") {
StopAllCss();
$(jQStr).attr("data-playstatus", 1);
AStatus = 1;
}
else {
$(jQStr).attr("data-playstatus", 0);
AStatus = 2;
}
var info = {
Id: iIndex, // 第几个
AudioUrl: AudioUrl, // 音频
AStatus: AStatus, // 播放状态:0表示重置,1表示播放,2表示暂停
}
playVisiableAudioCallBack(1, JSON.stringify(info));
}
// 重置播放处理
var pauseMusicFunc = function (iIndex) {
$(".select-answer").removeClass("select-answer");
var jQStr = ".LDFPlayS_" + iIndex;
$(jQStr).attr("data-playstatus", 0);
var jQStr = ".LDFPWhite_" + iIndex;
var TTimeNum = parseInt($(jQStr).attr("data-alltime"));
var AudioUrl = $(jQStr).parent().prev(".LDivTop").find(".LDivTItem[data-selected='1']").attr("data-auduourl");
var info = {
Id: iIndex, // 第几个
AudioUrl: AudioUrl, // 音频
AStatus: 0, // 播放状态:0表示重置,1表示播放,2表示暂停
}
playVisiableAudioCallBack(1, JSON.stringify(info));
}
// 设置滑块的位置
var playImageFunc = function (iIndex, leftVal, allTimes) {
var jQStr = ".LDFProcImg_" + iIndex;
var PWidthVal = $(jQStr).parent().css("width");
// 兼容单位
var PUint = "";
if (PWidthVal.indexOf("px") > -1) {
PUint = "px";
PWidthVal = PWidthVal.replace(PUint, "");
}
else if (PWidthVal.indexOf("pt") > -1) {
PUint = "pt";
PWidthVal = PWidthVal.replace(PUint, "");
}
else if (PWidthVal.indexOf("em") > -1) {
PUint = "em";
PWidthVal = PWidthVal.replace(PUint, "");
}
if (allTimes <= 0) {
$(jQStr).css("left", "-15px"); // 设置滑块滚动
jQStr = ".LDFPWhite_" + iIndex;
$(jQStr).css("width", "0px").attr("data-ctime", "0").attr("data-alltime", "0"); // 白色背景
jQStr = ".RunTime_" + iIndex;
$(jQStr).text(timeToStrFunc(0)); // 设置文字显示
jQStr = ".RunAllTime_" + iIndex;
$(jQStr).text(timeToStrFunc(0)); // 设置文字显示
}
else {
var LeftPx = (leftVal * parseFloat(PWidthVal)) / allTimes;
$(jQStr).css("left", (LeftPx - 15) + PUint); // 设置滑块滚动
jQStr = ".LDFPWhite_" + iIndex;
$(jQStr).css("width", LeftPx + PUint).attr("data-ctime", leftVal).attr("data-alltime", allTimes); // 白色背景
jQStr = ".RunTime_" + iIndex;
$(jQStr).text(timeToStrFunc((leftVal / 1000))); // 设置文字显示
jQStr = ".RunAllTime_" + iIndex;
$(jQStr).text(timeToStrFunc((allTimes / 1000))); // 设置文字显示
}
};
// 时间转换
var timeToStrFunc = function (timerNumber) {
timerNumber = Math.floor(timerNumber);
var ReStr = "";
var TempData = 0;
if (isNaN(timerNumber) || timerNumber == "") {
return "00:00";
}
if (timerNumber >= 3600) {
TempData = Math.floor(timerNumber / 3600);
timerNumber -= TempData * 3600;
ReStr += (TempData < 10 ? ("0" + TempData) : TempData) + ":";
}
if (timerNumber >= 60) {
var TempData = Math.floor(timerNumber / 60);
timerNumber -= TempData * 60;
ReStr += (TempData < 10 ? ("0" + TempData) : TempData) + ":";
}
else {
ReStr += "00:";
}
if (timerNumber < 10) {
ReStr += "0" + timerNumber;
}
else {
ReStr += timerNumber;
}
return ReStr;
};
var TouchStartX = 0;
var TouchMoveX = 0;
var TouchIndex = -1; // 位置标识
var TallTimeNum = 0; // 总时间
var LeftTimeNum = 0; // 总时间
var PWidthValNum = 0; // 总宽度
// 滑块滑动控制(按下去)
function TouchStartFunc(event) {
TouchStartX = event.touches[0].pageX;
TouchMoveX = TouchStartX;
TouchIndex = parseInt($(event.target).attr("class").replace("LDFProcImg LDFProcImg_", ""));
var jQStr = ".LDFPWhite_" + TouchIndex;
TallTimeNum = parseInt($(jQStr).attr("data-alltime"));
LeftTimeNum = parseInt($(".LDFPWhite_" + TouchIndex).attr("data-ctime"));
PWidthValNum = parseFloat($(jQStr).parent().css("width")); // 总宽度
if (TallTimeNum > 0) {
mobileTSFunc(TouchIndex);
}
}
// 滑块滑动
function TouchMoveFunc(event) {
TouchMoveX = event.touches[0].pageX;
TouchMoveY = event.touches[0].pageY;
var TLeftTimeNumber = Math.ceil(TallTimeNum * Math.abs(TouchMoveX - TouchStartX) / PWidthValNum);
if (TouchStartX > TouchMoveX) {
// 左移
if ((LeftTimeNum - TLeftTimeNumber) < 0) {
TLeftTimeNumber = 0;
}
else {
TLeftTimeNumber = LeftTimeNum - TLeftTimeNumber;
}
playImageFunc(TouchIndex, TLeftTimeNumber, TallTimeNum);
}
else {
// 右移
if ((LeftTimeNum + TLeftTimeNumber) > TallTimeNum) {
TLeftTimeNumber = TallTimeNum;
}
else {
TLeftTimeNumber = LeftTimeNum + TLeftTimeNumber;
}
playImageFunc(TouchIndex, TLeftTimeNumber, TallTimeNum);
}
}
// 滑块滑动控制(抬起来)
function TouchEndFunc(event) {
mobileTEFunc(TouchIndex);
}
//原文音频播放按钮点击事件
function audioPlayClick(myobj) {
var curHtml = $(myobj).parent().find(".audioUrl").html();
var curAlt = $(myobj).attr("alt");
//处理当前按钮的状
if ($(myobj).attr("play-status") == "1") {
$(myobj).attr("play-status", "0");
$(myobj).attr("src", PicInfo.audioPauseImgUrl);//移动端要根据本地 喇叭 路径替换
}
else {
//停止其他作答音频播放
var isRecordPlaying = $(".answer-audio-range[play-status='1']");
if (isRecordPlaying.length > 0) {
$(isRecordPlaying).attr("play-status", "0");
$(isRecordPlaying).find("img").attr("src", PicInfo.recordPlayImgUrl);//移动端要根据本地路径替换
}
//停止其他原文音频播放
var audioPlaying = $(".audioImg[play-status='1']");
if (audioPlaying.length > 0) {
$(audioPlaying).attr("play-status", "0");
$(audioPlaying).attr("src", PicInfo.audioPauseImgUrl);//移动端要根据本地 喇叭 路径替换
}
//设置播放状态
$(myobj).attr("play-status", "1");
$(myobj).attr("src", PicInfo.audioPlayImgUrl);//移动端要根据本地 喇叭 路径替换
}
if (cTTypeFunc == 1) {
//移动端添加外部处理(安卓)
var info = new Object();
info.Id = $(myobj).attr("audio-id");
info.AudioUrl = curAlt;
playVisiableAudioCallBack(1, JSON.stringify(info));
}
else {
//移动端添加外部处理(iOS)
cancelBubble();
alert("media:" + "0" + "℡№℡" + curId + "℡№℡" + curAlt);
}
}
//#endregion
// #region 多选框处理
// 多选点击(多选框是否可选)
var ControlFlag = true;
var clickCheckBox = function (inputId) {
if (!ControlFlag) {
return;
}
$(".cBoxClsBg").attr("data-select", "0");
$(".wordStyle,.phraseStyle,.sentenceStyle").attr("data-glclick", "0");
var BoxJqStr = ".cBoxCls_" + inputId;
if ($(BoxJqStr).attr("data-status") == "1") {
$(BoxJqStr).attr("data-status", "0");
}
else {
$(BoxJqStr).attr("data-status", "1");
}
var parentAnid = $(BoxJqStr).attr("parent-anid");
$(".cBoxCls[parent-anid='" + parentAnid + "']").parent(".cBoxClsBg").attr("data-select", "1");
var curObj = new Object();
curObj.Id = $(BoxJqStr).attr("answer-id");//答题点ID
curObj.pId = $(BoxJqStr).attr("parent-anid");//答题点ID
curObj.IsKY = 2;//是否是口语试题,0-不是口语题,1-是口语题
curObj.AnsText = $(BoxJqStr).attr("answer-anstext");//参考答案
onClickAnswerPoint(JSON.stringify(curObj));
}
// #endregion
// #region 高亮处理
var TFillData = [];
/*高亮文本标注*/
function Fill(data) {
// 清空原有高亮渲染
$.each($(".wordStyle,.phraseStyle,.sentenceStyle"), function (i, item) {
$(item).attr("data-setstatus", "0").attr("data-lstatus", "0").removeClass("wordStyle").removeClass("phraseStyle").removeClass("sentenceStyle");
$(".sentImagcs").remove();
});
// 重新渲染
$.each(data, function (i, item) {
if (typeof (item.HightCode) != 'undefined' && item.HightCode != null && item.HightCode != "") {
var highlightItem = $('span[id=' + item.HightCode + ']').eq(0);
if (highlightItem.length > 0) {
// data-scolor显示的颜色等级卡控,data-setstatus高亮是否处于显示状态,data-lstatus:卡控是否能点击(1单词,2短语,3句型)
var FlagName = $('span[id=' + item.HightCode + ']').eq(0).attr("flag");
var ClsName = "";
var LClick = "0";
if (FlagName == "word") {
ClsName = "wordStyle";
LClick = "1";
}
else if (FlagName == "phrase") {
ClsName = "phraseStyle";
LClick = "2";
}
else if (FlagName == "sentence") {
ClsName = "sentenceStyle";
LClick = "3";
}
var hitCode = highlightItem.attr('hitCode');
var ThitCode = "";
if (hitCode) {
ThitCode = hitCode + "|" + item.SourceCode;
}
else {
ThitCode = item.SourceCode;
}
$('span[id=' + item.HightCode + ']').eq(0).addClass(ClsName).attr("data-setstatus", "1").attr("data-lstatus", LClick).attr("hitCode", ThitCode);
var AddImg = ($('span[id=' + item.HightCode + ']').eq(0).prev().attr('class') == "sentImagcs") ? true : false;
if (ClsName == "sentenceStyle" && !AddImg) {
$('span[id=' + item.HightCode + ']').eq(0).before('
');
}
}
}
else if (typeof (item.SourceCode) == 'undefined' || item.SourceCode == null || item.SourceCode != "") {
var highlightItem = $('span[kcode*=' + item.SourceCode + ']:first');
if (highlightItem.length > 0) {
// data-scolor显示的颜色等级卡控,data-setstatus高亮是否处于显示状态,data-lstatus:卡控是否能点击(1单词,2短语,3句型)
var FlagName = $('span[id=' + item.HightCode + ']').eq(0).attr("flag");
var ClsName = "";
var LClick = "0";
if (FlagName == "word") {
ClsName = "wordStyle";
LClick = "1";
}
else if (FlagName == "phrase") {
ClsName = "phraseStyle";
LClick = "2";
}
else if (FlagName == "sentence") {
ClsName = "sentenceStyle";
LClick = "3";
}
var hitCode = highlightItem.attr('hitCode');
var ThitCode = "";
if (hitCode) {
ThitCode = hitCode + "|" + item.SourceCode;
}
else {
ThitCode = item.SourceCode;
}
$('span[id=' + item.HightCode + ']').eq(0).addClass(ClsName).attr("data-setstatus", "1").attr("data-lstatus", LClick).attr("hitCode", ThitCode);
var AddImg = ($('span[id=' + item.HightCode + ']').eq(0).prev().attr('class') == "sentImagcs") ? true : false;
if (ClsName == "sentenceStyle" && !AddImg) {
$('span[id=' + item.HightCode + ']').eq(0).before('
');
}
}
}
});
// 附加是否被点击属性data-glclick,0表示未被选中,1表示已选中
$(".wordStyle,.phraseStyle,.sentenceStyle").attr("data-glclick", "0");
}
// 嵌套式答题点不作高亮显示(只做隐藏)
function DealCssHiddenFunc() {
// 处理.wordStyle,.phraseStyle,.sentenceStyle全包含underlineContent情况
$.each($(".wordStyle,.phraseStyle"), function (i, item) {
var displayCss = $(item).find(".underlineContent").css("display");
var showflag = $(item).find(".underlineContent").attr("showflag");
if (displayCss == "none" || showflag == "0") {
// 针对答题点进行做隐藏处理
$(item).attr("data-lstatus", "0").attr("data-setstatus", "0"); // 不高亮也不可点击
}
});
$.each($(".sentenceStyle"), function (i, item) {
var displayCss = $(item).find(".underlineContent").css("display");
var showflag = $(item).find(".underlineContent").attr("showflag");
if (displayCss == "none" || showflag == "0") {
// 针对答题点进行做隐藏处理
$(item).attr("data-lstatus", "0").attr("data-setstatus", "0"); // 不高亮也不可点击
$(item).prev(".sentImagcs").attr("data-lstatus", "0").attr("data-setstatus", "0"); // 不高亮也不可点击
}
});
// 处理underlineContent全包含.wordStyle,.phraseStyle,.sentenceStyle情况
$.each($(".underlineContent"), function (i, item) {
var displayCss = $(item).css("display");
var showflag = $(item).attr("showflag");
if (displayCss == "none" || showflag == "0") {
// 针对答题点进行做隐藏处理
$(item).find(".wordStyle,.phraseStyle,.sentenceStyle").attr("data-lstatus", "0").attr("data-setstatus", "0"); // 不高亮也不可点击
$(item).find(".sentImagcs").attr("data-lstatus", "0").attr("data-setstatus", "0"); // 不高亮也不可点击
}
});
}
// 嵌套式答题点高亮显示(重新渲染)
function DealCssShowFunc() {
$.each($(".wordStyle"), function (i, item) {
if ($(item).find(".underlineContent").length == 1) {
var displayCss = $(item).find(".underlineContent").css("display");
var showflag = $(item).find(".underlineContent").attr("showflag");
if (displayCss != "none" && showflag == "1") {
// 针对答题点进行做隐藏处理
$(item).attr("data-lstatus", "1").attr("data-setstatus", "1"); // 显示高亮和可点击
}
}
else if ($(item).find(".underlineContent").length > 1) {
var AllShow = true;
$.each($(item).find(".underlineContent"), function (tIndex, tItem) {
var displayCss = $(tItem).css("display");
var showflag = $(tItem).attr("showflag");
if (displayCss == "none" || showflag == "0") {
// 针对答题点进行做隐藏处理
AllShow = false;
}
});
if (AllShow) {
$(item).attr("data-lstatus", "1").attr("data-setstatus", "1"); // 显示高亮和可点击
}
}
else {
$(item).attr("data-lstatus", "1").attr("data-setstatus", "1"); // 显示高亮和可点击
}
});
$.each($(".phraseStyle"), function (i, item) {
if ($(item).find(".underlineContent").length == 1) {
var displayCss = $(item).find(".underlineContent").css("display");
var showflag = $(item).find(".underlineContent").attr("showflag");
if (displayCss != "none" && showflag == "1") {
// 针对答题点进行做隐藏处理
$(item).attr("data-lstatus", "2").attr("data-setstatus", "1"); // 显示高亮和可点击
}
}
else if ($(item).find(".underlineContent").length > 1) {
var AllShow = true;
$.each($(item).find(".underlineContent"), function (tIndex, tItem) {
var displayCss = $(tItem).css("display");
var showflag = $(tItem).attr("showflag");
if (displayCss == "none" || showflag == "0") {
// 针对答题点进行做隐藏处理
AllShow = false;
}
});
if (AllShow) {
$(item).attr("data-lstatus", "2").attr("data-setstatus", "1"); // 显示高亮和可点击
}
}
else {
$(item).attr("data-lstatus", "2").attr("data-setstatus", "1"); // 显示高亮和可点击
}
});
$.each($(".sentenceStyle"), function (i, item) {
if ($(item).find(".underlineContent").length == 1) {
var displayCss = $(item).find(".underlineContent").css("display");
var showflag = $(item).find(".underlineContent").attr("showflag");
if (displayCss != "none" && showflag == "1") {
// 针对答题点进行做隐藏处理
$(item).attr("data-lstatus", "3").attr("data-setstatus", "1"); // 显示高亮和可点击
$(item).prev(".sentImagcs").attr("data-lstatus", "3").attr("data-setstatus", "1"); // 显示高亮和可点击
}
}
else if ($(item).find(".underlineContent").length > 1) {
var AllShow = true;
$.each($(item).find(".underlineContent"), function (tIndex, tItem) {
var displayCss = $(tItem).css("display");
var showflag = $(tItem).attr("showflag");
if (displayCss == "none" || showflag == "0") {
// 针对答题点进行做隐藏处理
AllShow = false;
}
});
if (AllShow) {
$(item).attr("data-lstatus", "3").attr("data-setstatus", "1"); // 显示高亮和可点击
}
}
else {
$(item).attr("data-lstatus", "3").attr("data-setstatus", "1"); // 显示高亮和可点击
}
});
}
// #endregion
// 判断是否存在对象中
function checkStrFunc(dataDtr) {
if (dataDtr == undefined || dataDtr == null) {
return false;
}
if (TFillData != null && TFillData.length > 0) {
var ReFlag = false;
TFillData.forEach(item=> {
if (item.HightCode == dataDtr) {
ReFlag = true;
}
});
return ReFlag;
}
else {
return false;
}
}
// 空字符串转换
function ChangeSpaceStr(DataStr) {
if (DataStr == undefined || DataStr == null) {
return "";
}
var TDataStr = escape(DataStr); // encodeURI
if (TDataStr.indexOf("%C2%A0") > -1) {
DataStr = escape(DataStr);
var DataArr = DataStr.split("%C2%A0");
DataStr = "";
for (var i = 0; i < DataArr.length; i++) {
if (DataStr == "") {
DataStr += DataArr[i];
}
else {
DataStr += " " + DataArr[i];
}
}
}
if (TDataStr.indexOf("%A0") > -1) {
DataStr = escape(DataStr);
var DataArr = DataStr.split("%A0");
DataStr = "";
for (var i = 0; i < DataArr.length; i++) {
if (DataStr == "") {
DataStr += DataArr[i];
}
else {
DataStr += " " + DataArr[i];
}
}
}
if (DataStr.indexOf("%20") > -1) {
while (DataStr.indexOf("%20") > -1) {
DataStr = DataStr.replace("%20", " ");
}
}
if (DataStr.indexOf("%27") > -1) {
while (DataStr.indexOf("%27") > -1) {
DataStr = DataStr.replace("%27", "'");
}
}
return DataStr;
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 处理节点(使用data-scolor显示的颜色等级卡控,data-setstatus高亮是否处于显示状态,data-lstatus:卡控是否能点击(1单词,2短语,3句型))
//页面加载完,课件 绑定事件(sWidthVal:屏幕宽度,isAStatus是否含有作答0表示没有,isMAStatus判断是否是主体课文1表示是)
function bindEventYS(sWidthVal, isAStatus, isMAStatus) {
IsZTKEStatus = (isMAStatus == "undefined" || isMAStatus == undefined || isMAStatus == null) ? 0 : parseInt(isMAStatus);
// 处理文本
dealUnderLineFunc();
$.each($(".yaoshi"), function (index, item) {
$(item).attr('answer-id', index).attr("parent-anid", index).attr("showflag", "1").css("display", "block").attr("data-status", "1").attr("answer-isky", "0").attr("src", PicInfo.yaoshiShowImgUrl);
// 关联渲染underlinecontent
if ($(item).next().length > 0) {
selectImgULContent($(item).next(), index);
}
else {
selectImgULContent($(item).parent(), index);
}
// 如果不存在答题点答案,那么构建一个空的underlinecontent
if ($(".underlineContent[yaoshi-flag='" + index + "']").length == 0) {
var HtmlStr = '';
$(this).after(HtmlStr);
}
// 获取当前要是的标准答案
var AnswerText = "";
$.each($(".underlineContent[yaoshi-flag='" + index + "']"), function (tIndex, tItem) {
AnswerText += $(this).text();
// 补充嵌套,data-select表示选择状态0表示未选择,1表示已作答选择,2表示未作答选择
if ($(this).parent().children().length > 1) {
$(this).prop("outerHTML", '' + $(this).prop("outerHTML") + '');
}
else {
$(this).parent().addClass("ULCBGUse").attr("data-select", "0");
}
});
$(this).attr("answer-anstext", AnswerText);
});
//给音频绑定一个ID(未处理)
$.each($(".audioImg"), function (index, item) {
$(item).attr("src", PicInfo.audioPauseImgUrl);
$(item).attr("audiourl", "");
$(item).attr('audio-id', index);
});
//给视频图标处理(未处理)
$.each($(".videoImg"), function (index, item) {
$(item).attr("src", PicInfo.videoPlayImgUrl);
$(item).attr("audiourl", "");
});
//给口语图标处理(未处理)
$.each($(".oralLanguageImg"), function (index, item) {
$(item).attr("src", PicInfo.speechAnswerImgUrl);
$(item).attr("audiourl", "");
});
//处理口语试题
$.each($(".oralLanguage").nextUntil(".oralLanguageDone"), function (num, part) {
if ($(part).hasClass("yaoshi")) {
$(part).attr("answer-isky", "1");
}
if ($(part).find(".yaoshi").length > 0) {
$(part).find(".yaoshi").attr("answer-isky", "1");
}
});
//一题多空的答题点标注
var checkId = 0;
var headid = -1;
var groupId = -1;
$(".multipleStart").each(function (i, item) {
var $startNode = $(item);
var index = 0;
$.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);
$(item).find('.underlineContent').attr('parent-anid', headid);
// 打标志,含有boxQue的是多选题
if ($(item).hasClass('boxQue')) {
$(item).find('.yaoshi').attr('answer-isky', "2");
if ($(item).find(".underlineContent").length == 0) {
var AddHtmlStr = ' ';
$(item).find('.yaoshi').after(AddHtmlStr);
}
}
});
});
//处理表格宽度
AdjustTableFunc(sWidthVal, isAStatus);
// 音频处理
$.each($(".audioImg"), function (index, element) {
AddListenDiv(element, index, sWidthVal);
});
}
//页面加载完,原文 绑定事件(sWidthVal:屏幕宽度,isAStatus是否含有作答0表示没有,isMAStatus判断是否是主体课文1表示是)
function bindEventTeaOrignalYS(sWidthVal, isAStatus, isMAStatus) {
IsZTKEStatus = (isMAStatus == "undefined" || isMAStatus == undefined || isMAStatus == null) ? 0 : parseInt(isMAStatus);
// 处理文本
dealUnderLineFunc();
//处理答题点
$.each($(".yaoshi"), function (index, item) {
$(item).attr('answer-id', index).attr("parent-anid", index).attr("showflag", "1").css("display", "block").attr("data-status", "1").attr("answer-isky", "0").attr("src", PicInfo.yaoshiShowImgUrl);
// 关联渲染underlinecontent
if ($(item).next().length > 0) {
selectImgULContent($(item).next(), index);
}
else {
selectImgULContent($(item).parent(), index);
}
// 如果不存在答题点答案,那么构建一个空的underlinecontent
if ($(".underlineContent[yaoshi-flag='" + index + "']").length == 0) {
var HtmlStr = '';
$(this).after(HtmlStr);
}
if (isAStatus != 1) {
// 学生隐藏答案
$(item).attr('answer-id', index).attr("showflag", "0").css("display", "none").attr("data-status", "0").attr("answer-isky", "0").attr("src", PicInfo.yaoshiHideImgUrl);
$(".underlineContent[yaoshi-flag='" + index + "']").not(".noKey").attr("showflag", "0"); // 隐藏答案(这种是连下划线删除的)
}
// 获取当前要是的标准答案
var AnswerText = "";
$.each($(".underlineContent[yaoshi-flag='" + index + "']"), function (tIndex, tItem) {
AnswerText += $(this).text();
// 补充嵌套
if ($(this).parent().children().length > 1) {
$(this).prop("outerHTML", '' + $(this).prop("outerHTML") + '');
}
else {
$(this).parent().addClass("ULCBGUse").attr("data-select", "0");
}
});
$(this).attr("answer-anstext", AnswerText);
});
//给音频绑定一个ID(未处理)
$.each($(".audioImg"), function (index, item) {
$(item).attr("src", PicInfo.audioPauseImgUrl);
$(item).attr("audiourl", "");
$(item).attr('audio-id', index);
});
//给视频图标处理(未处理)
$.each($(".videoImg"), function (index, item) {
$(item).attr("src", PicInfo.videoPlayImgUrl);
$(item).attr("audiourl", "");
});
//给口语图标处理(未处理)
$.each($(".oralLanguageImg"), function (index, item) {
$(item).attr("src", PicInfo.speechAnswerImgUrl);
$(item).attr("audiourl", "");
});
//一题多空的答题点标注
var checkId = 0;
var headid = -1;
var groupId = -1;
$(".multipleStart").each(function (i, item) {
var $startNode = $(item);
var index = 0;
$.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);
$(item).find('.underlineContent').attr('parent-anid', headid);
// 打标志,含有boxQue的是多选题
if ($(item).hasClass('boxQue')) {
$(item).find('.yaoshi').attr('answer-isky', "2");
if ($(item).find(".underlineContent").length == 0) {
var AddHtmlStr = ' ';
$(item).find('.yaoshi').after(AddHtmlStr);
}
}
});
});
//处理参考答案
$.each($(".underlineContent"), function (index, item) {
$(item).attr("answer-anstext", $(item).html());
});
//处理表格宽度
AdjustTableFunc(sWidthVal, isAStatus);
// 音频处理
$.each($(".audioImg"), function (index, element) {
AddListenDiv(element, index, sWidthVal);
});
}
// 学生端 处理作答区域 answer-isky 是否是口语试题,0-不是口语题,1-是口语题,2-打勾题
var answerData = new Array();
function handleAnswerRange() {
var answerId = "";
var tempJson = new Array();
//先处理一题多空的情况,获取两个之间的答题点
$.each($(".yaoshi"), function (index, item) {
var AnswerID = $(item).attr("answer-id");
var AnswerPID = $(item).attr("parent-anid");
if (AnswerPID == undefined || AnswerPID == null) {
AnswerPID = "";
}
var AnswerIsky = $(item).attr("answer-isky");
if (AnswerIsky != 1 && AnswerIsky != 2) {
AnswerIsky = 0;
}
// 获取答案
var TAnsText = "";
$.each($(".underlineContent[yaoshi-flag='" + AnswerID + "']"), function (index, tItem) {
TAnsText += " " + $(tItem).text();
});
var ClsName = $(item).next().attr("class");
// 添加答题点
if (AnswerIsky == 2){
// 防止重复添加
if (cTTypeFunc == 2 && ClsName != "cBoxClsBg") {
$(item).after("");
}
else if (ClsName != "cBoxClsBg") {
$(item).after("");
}
}
else {
// 防止重复添加
if (cTTypeFunc == 2 && ClsName != "answer-body") {
// data-astatus控制作答样式(0表示未提交,1表示提交,2表示回显);data-errstatus判断是否作答(1表示未作答)
$(item).after("
作答音频
答题点 ");
}
else if (ClsName != "answer-body") {
// data-astatus控制作答样式(0表示未提交,1表示提交,2表示回显);data-errstatus判断是否作答(1表示未作答)
$(item).after("
作答音频
答题点 ");
}
}
var info = new Object();
info.Id = AnswerID;
info.pId = AnswerPID;
info.IsKY = AnswerIsky;
info.AnsText = TAnsText; // 标准答案
answerData.push(info);
// 隐藏对应的钥匙和答案
$(item).attr("showflag", "0").css("display", "none").attr("data-status", "0").attr("src", PicInfo.yaoshiHideImgUrl); // 隐藏钥匙
$(".underlineContent[yaoshi-flag='" + AnswerID + "']").not(".noKey").css("display", "none"); // 隐藏答案(这种是连下划线删除的)
});
if (cTTypeFunc == 1) {
return answerData;
}
else {
return JSON.stringify(answerData);
}
}
//提交,获取所有作答答案及参考答案(未处理)
function getAllAnswer() {
// 从answer-body中获取答案
var TAnswerList = [];
ControlFlag = false;
$.each($(".yaoshi"), function (index, item) {
var info = { "AStatus": 0, "AudioLength": 0, "AudioUrl": "", "Id": "0", "Score": -1.0, "Text": "", "Type": 1, "pId": "0", "playStartPoint": 0 };
var answerid = $(item).attr("answer-id");
var parentid = $(item).attr("parent-anid");
info.Id = answerid;
info.pId = parentid;
info.AStatus = ""; // 暂时没用到
info.Score = -1; // 作答得分,老师未评阅都是默认给-1分
info.Type = 1; //作答方式,1-文本作答,2-图片作答,3-音频作答,4-音频导入作答;目前只开放了1,3类型的作答方式
info.playStartPoint = ""; // 记录当前播放的时间点,下次继续播放时恢复到这个时间点
var answerisky = $(item).attr("answer-isky"); // 是否是口语试题,0-不是口语题,1-是口语题,2-打勾题
info.AudioLength = 0; // 时长
var answerurl = $(".answer-body[answer-id='" + answerid + "']").attr("answer-url"); // 非口语题的输入
if (answerisky == 1 || (answerurl != undefined && answerurl != null && answerurl.length > 0)) {
info.AudioUrl = answerurl;
var AnswerText = $(".answer-body[answer-id='" + answerid + "']").find(".answer-text").text();
info.AudioLength = $(".answer-body[answer-id='" + answerid + "']").attr("answer-audiolength");
info.Text = AnswerText;
if (info.AudioUrl != undefined && info.AudioUrl != null && info.AudioUrl != "") {
info.Type = 3;
}
}
else if (answerisky == 2) {
var IsCheck = $(".cBoxCls[answer-id='" + answerid + "']").attr("data-status");
if (IsCheck == "0") {
info.Text = " ";
}
else if (IsCheck == "1") {
info.Text = "√";
}
}
else {
var AnswerText = $(".answer-body[answer-id='" + answerid + "']").find(".answer-text").text();
info.Text = AnswerText;
}
TAnswerList.push(info);
});
backupAllAnswer(JSON.stringify(TAnswerList), 1);
return TAnswerList;
}
//接收学生的作答
function reviewAnswer(answerJson) {
if (answerJson != "" && answerJson) {
var answerObj = JSON.parse(answerJson);
var selectElement = $(".answer-body[answer-id='" + answerObj.Id + "']");
var audioElement = $(selectElement).children(".answer-audio-range").children("img").eq(0);
answerObj.IsKY = $(selectElement).attr("answer-isky");//是否是口语试题,0-不是口语题,1-是口语题
// 多选
if (answerObj.IsKY == "2" && answerObj.Text == "√") {
$(".cBoxCls[answer-id='" + answerObj.Id + "']").attr("data-status", "1");
}
//是否为音频作答(Type:1,文本作答,2-图片,3-语音,4-音频导入)
if ((answerObj.Type == 3 || answerObj.Type == 4) && answerObj.AudioUrl != "") {
$(selectElement).children(".answer-point-range").hide();
$(selectElement).children(".answer-audio-range").css("display", "inline-block");
$(selectElement).children(".answer-audio-range").eq(0).children("span").text("作答音频(" + answerObj.AudioLength + "s)");
//填充作答内容
$(selectElement).attr("answer-text", answerObj.Text);
$(".yaoshi[answer-id='" + answerObj.Id + "']").attr("answer-text", answerObj.Text);
if (answerObj.Text != "") {
answerObj.Text = "(" + answerObj.Text + ")";
$(selectElement).children(".answer-text").show();
$(selectElement).children(".answer-text").text(answerObj.Text);
}
else {
$(selectElement).children(".answer-text").text("");
}
//是否之前存在作答音频
//$(selectElement).attr("answer-url", answerObj.AudioUrl);
$(selectElement).children(".answer-audio-range").attr("answer-url", answerObj.AudioUrl);
$(audioElement).attr("src", PicInfo.recordPlayImgUrl);
$(selectElement).children(".answer-audio-range").attr("play-status", "0");
//独立绑定事件
$(audioElement).on("click", function () {
recordAudioClick(this, answerObj.Id, answerObj.AudioUrl);
});
$(selectElement).attr("answer-showanswer", "1").attr("data-astatus", "3");
}
else {
$(selectElement).attr("answer-text", answerObj.Text);//填充作答内容
$(".yaoshi[answer-id='" + answerObj.Id + "']").attr("answer-text", answerObj.Text);
$(selectElement).children(".answer-audio-range").hide();
if (answerObj.Text != "") {
$(selectElement).children(".answer-text").show();
$(selectElement).children(".answer-point-range").hide();
$(selectElement).children(".answer-text").text(answerObj.Text);
$(selectElement).attr("answer-showanswer", "1").attr("data-astatus", "3");
}
else {
$(selectElement).children(".answer-text").hide();
$(selectElement).children(".answer-text").text("");
$(selectElement).children(".answer-point-range").show();
$(selectElement).attr("answer-showanswer", "0").attr("data-astatus", "0");
}
}
}
}
//回填所有答案,answerJson:所有作答及参考答案List,statusType:0-可作答,1-已提交,2-查看评阅
function backupAllAnswer(answerJson, statusType) {
if (statusType == 0) {
ControlFlag = true; // 多选框可以作答
$(".answer-body").attr("data-astatus", statusType).attr("data-errstatus", "0"); // 实时记录作答状态
if (answerJson != "" && answerJson) {
var answerList = JSON.parse(answerJson);
$.each($(".answer-body"), function (num, item) {
var index = 0;
var isanswer = false;
var answerid = $(item).attr("answer-id");
var parentid = $(item).attr("parent-anid");
//查找作答
for (var i = 0; i < answerList.length; i++) {
if (answerid == answerList[i].Id) {
index = i;
break;
}
}
//一题多空的作答关联查找
for (var i = 0; i < answerList.length; i++) {
if (parentid == answerList[i].pId) {
if (answerList[i].Text != "") {
isanswer = true;
break;
}
}
}
//提交直接还原作答现场
var mytext = answerList[index].Text;//我的答案
mytext = (mytext == undefined || mytext == null) ? "" : mytext;
var CheckFlag = (mytext.indexOf("√") > -1) ? true : false;
// 恢复多选处理
if (CheckFlag) {
$(".cBoxCls[answer-id='" + answerid + "']").attr("data-status", "1");
}
$(".yaoshi[answer-id='" + answerid + "']").attr("answer-score", answerList[index].Score); //作答评分
$(".yaoshi[answer-id='" + answerid + "']").attr("answer-text", mytext); // 作答内容
$(".yaoshi[answer-id='" + answerid + "']").attr("answer-comment", "");//评语
answerList[index].IsKY = $(item).attr("answer-isky");//是否是口语试题,0-不是口语题,1-是口语题
//添加音频控制
var hasAudio = false;
var audioElement = $(item).children(".answer-audio-range").children("img").eq(0);
if ((answerList[index].Type == 3 || answerList[index].Type == 4) && answerList[index].AudioUrl != "") {
hasAudio = true;
$(item).children(".answer-point-range").hide();
$(item).children(".answer-audio-range").css("display", "inline-block");
$(item).children(".answer-audio-range").children("span").text("作答音频(" + answerList[index].AudioLength + "s)");
//填充作答内容
$(item).attr("answer-text", mytext);
if (mytext != "") {
mytext = "(" + mytext + ")";
$(item).children(".answer-text").show();
$(item).children(".answer-text").text(mytext);
}
//音频节点
$(audioElement).attr("src", PicInfo.recordPlayImgUrl);
$(item).children(".answer-audio-range").attr("answer-url", answerList[index].AudioUrl);
$(item).children(".answer-audio-range").attr("answer-audiolength", answerList[index].AudioLength);
$(item).children(".answer-audio-range").attr("play-status", "0");
$(item).attr("data-astatus", "3");
}
else {
$(item).attr("answer-text", mytext);//填充作答内容
if (mytext != "") {
$(item).attr("data-astatus", "3");
$(item).children(".answer-text").show();
$(item).children(".answer-point-range").hide();
$(item).children(".answer-text").text(mytext);
}
else {
$(item).attr("data-errstatus", "1");
}
}
// 保留已作答全部信息
$(item).attr("answer-score", answerList[index].Score);//作答评分
//$(item).attr("answer-anstext", answerList[index].AudioUrl);//参考答案
});
//打勾题的还原
$.each($(".cBoxCls"), function (num, item) {
//可作答状态,作答还原
var index = 0;
var isanswer = false;
var answerid = $(item).attr("answer-id");
var parentid = $(item).attr("parent-anid");
for (var i = 0; i < answerList.length; i++) {
if (answerid == answerList[i].Id) {
index = i;
break;
}
}
//提交直接还原作答现场
var mytext = answerList[index].Text;//我的答案
mytext = (mytext == undefined || mytext == null) ? "" : mytext;
var ischecked = mytext.indexOf("√") > -1;
//还原打勾效果
if (ischecked) {
$(".cBoxCls_" + answerid).attr("data-status", "1");
}
});
}
}
else {
$(".answer-body").remove(); // 删除原有答题点
$(".cBoxCls").remove(); // 删除原有答题点
$(".underlineContent").attr("data-errstatus", "1"); // 标记为未作答
ControlFlag = false; // 多选框不可以作答
if (answerJson != "" && answerJson) {
var answerList = JSON.parse(answerJson);
$.each($(".yaoshi"), function (num, item) {
var index = 0; // 记录当前下标
var isanswer = false; // 判断是否作答
var answerid = $(item).attr("answer-id");
var parentid = $(item).attr("parent-anid");
// 保留已作答全部信息
//$(".answer-body[answer-id='" + answerid + "']").attr("answer-anstext", answerList[index].AudioUrl);//参考答案
//查找作答下标
for (var i = 0; i < answerList.length; i++) {
if (answerid == answerList[i].Id) {
index = i;
break;
}
}
//一题多空的作答关联查找判断是否作答
for (var i = 0; i < answerList.length; i++) {
if (parentid == answerList[i].pId && parentid != undefined && parentid != null && parentid != "") {
if (answerList[i].Text != undefined && answerList[i].Text != null && answerList[i].Text != "" && answerList[i].Text.length > 0) {
isanswer = true;
break;
}
}
}
//提交直接还原作答现场
var mytext = answerList[index].Text;//我的答案
mytext = (mytext == undefined || mytext == null) ? "" : mytext;
var CheckFlag = (mytext.indexOf("√") > -1) ? true : false;
$(item).attr("answer-score", answerList[index].Score); //作答评分
$(item).attr("answer-text", mytext); // 作答内容
$(item).attr("answer-comment", ""); // 作答内容
answerList[index].IsKY = $(item).attr("answer-isky");//是否是口语试题,0-不是口语题,1-是口语题,2-打勾题
//添加音频控制
var hasAudio = false;
if ((answerList[index].Type == 3 || answerList[index].Type == 4) && answerList[index].AudioUrl != "") {
hasAudio = true;
var HtmlStr = '
作答音频(' + answerList[index].AudioLength + 's) ';
$(".underlineContent[yaoshi-flag='" + answerid + "']").eq(0).html(HtmlStr);
}
//填充作答内容
if ($(".underlineContent[yaoshi-flag='" + answerid + "']").length == 1) {
$(".underlineContent[yaoshi-flag='" + answerid + "']").css("display", "inline");
if (mytext == "" && !hasAudio) {
mytext = "未作答";
if (isanswer) {
mytext = " ";
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 + "']").attr("data-errstatus", "0"); // 已作答
}
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 + "']").attr("data-errstatus", "1"); // 没有作答
}
}
else if (mytext == "" && hasAudio) {
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 + "']").attr("data-errstatus", "0"); // 已作答
}
else {
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 != "BODY" && TFlag != null && (TFlag == "sentence" || TFlag == "phrase")) {
PHandle.parent().attr("data-setstatus", "0").attr("data-lstatus", "0")
WTrue = false;
}
PHandle = PHandle.parent()
} while (WTrue);
}
else {
// 直接高亮
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 != "BODY" && TFlag != null && TFlag == "sentence") {
PHandle.parent().attr("data-setstatus", "1").attr("data-lstatus", "3");
WTrue = false;
}
else if (ClsName != "BODY" && 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] + '
' + TText + ' ' + TNHtmlArr[1];
NHtmlStr = NHtmlStr.replace(TText, RHtml);
}
else if (TFlag == "phrase" && IndexVal > -1) {
var TNHtmlArr = NHtmlStr.split(TText);
var ThitCode = "";
if (aItem.HightCode != 'undefined' && aItem.HightCode != null && aItem.HightCode != "") {
ThitCode = aItem.HightCode + "|" + aItem.SourceCode;
}
else {
ThitCode = aItem.HightCode + "|" + aItem.SourceCode;
}
var RHtml = TNHtmlArr[0] + ' ' + TText + ' ' + TNHtmlArr[1];
NHtmlStr = NHtmlStr.replace(TText, RHtml);
}
else if (TFlag == "word" && IndexVal > -1) {
var TNHtmlArr = NHtmlStr.split(TText);
var ThitCode = "";
if (aItem.HightCode != 'undefined' && aItem.HightCode != null && aItem.HightCode != "") {
ThitCode = aItem.HightCode + "|" + aItem.SourceCode;
}
else {
ThitCode = aItem.HightCode + "|" + aItem.SourceCode;
}
var RHtml = TNHtmlArr[0] + ' ' + TText + ' ' + 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 {
$(".underlineContent[yaoshi-flag='" + answerid + "']").html(NHtmlStr);
}
// 恢复多选处理
if (CheckFlag) {
$(".cBoxCls[answer-id='" + answerid + "']").attr("data-status", "1");
}
$(".underlineContent[yaoshi-flag='" + answerid + "']").attr("data-errstatus", "0");
}
}
else if ($(".underlineContent[yaoshi-flag='" + answerid + "']").length > 1) {
$(".underlineContent[yaoshi-flag='" + answerid + "']").css("display", "inline");
if (mytext == "" && !hasAudio) {
$(".underlineContent[yaoshi-flag='" + answerid + "']").html("").attr("showflag", "0"); // showflag在这里同来卡控半包含高亮
mytext = "未作答";
if (isanswer) {
mytext = " ";
if ($(".underlineContent[yaoshi-flag='" + answerid + "']").find(".answer-audio-range-child").length > 0) {
$(".underlineContent[yaoshi-flag='" + answerid + "']").find(".answer-audio-range-child").eq(0).html(mytext).attr("showflag", "1");
}
else {
$(".underlineContent[yaoshi-flag='" + answerid + "']").eq(0).html(mytext).attr("showflag", "1");
}
$(".underlineContent[yaoshi-flag='" + answerid + "']").attr("data-errstatus", "0"); // 已作答
}
else {
if ($(".underlineContent[yaoshi-flag='" + answerid + "']").find(".answer-audio-range-child").length > 0) {
$(".underlineContent[yaoshi-flag='" + answerid + "']").find(".answer-audio-range-child").eq(0).html(mytext).attr("showflag", "1");
}
else {
$(".underlineContent[yaoshi-flag='" + answerid + "']").eq(0).html(mytext).attr("showflag", "1");
}
$(".underlineContent[yaoshi-flag='" + answerid + "']").attr("data-errstatus", "1");
}
}
else if (mytext == "" && hasAudio) {
$(".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(mytext).attr("showflag", "1");
}
else {
$(".underlineContent[yaoshi-flag='" + answerid + "']").eq(0).html(mytext).attr("showflag", "1");
}
$(".underlineContent[yaoshi-flag='" + answerid + "']").attr("data-errstatus", "0"); // 已作答
}
else {
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 != "BODY" && TFlag != null && (TFlag == "sentence" || TFlag == "phrase")) {
PHandle.parent().attr("data-setstatus", "0").attr("data-lstatus", "0");
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);
if (TFlag == "sentence" && NHtmlStr.indexOf(TText) > -1) {
var ThitCode = "";
if (aItem.HightCode != 'undefined' && aItem.HightCode != null && aItem.HightCode != "") {
ThitCode = aItem.HightCode + "|" + aItem.SourceCode;
}
else {
ThitCode = aItem.HightCode + "|" + aItem.SourceCode;
}
var RHtml = '';
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 ThitCode = "";
if (aItem.HightCode != 'undefined' && aItem.HightCode != null && aItem.HightCode != "") {
ThitCode = aItem.HightCode + "|" + aItem.SourceCode;
}
else {
ThitCode = aItem.HightCode + "|" + aItem.SourceCode;
}
var RHtml = '';
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 ThitCode = "";
if (aItem.HightCode != 'undefined' && aItem.HightCode != null && aItem.HightCode != "") {
ThitCode = aItem.HightCode + "|" + aItem.SourceCode;
}
else {
ThitCode = aItem.HightCode + "|" + aItem.SourceCode;
}
var RHtml = '';
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(0).html(NHtmlStr);
}
}
$(".underlineContent[yaoshi-flag='" + answerid + "']").attr("data-errstatus", "0"); // 已作答
}
}
});
// 进行重新渲染答题点的高亮
DealCssShowFunc();
}
}
// 点击事件补充
AddClickEvent();
}
//显示、隐藏钥匙及答案 isShowYX:显示和隐藏钥匙,isShowAS:显示和隐藏答案
function showHideAnswerEx(isShowYX, isShowAS) {
if (isShowYX) {
$(".yaoshi").attr("showflag", "1").css("display", "block");
}
else {
$(".yaoshi").attr("showflag", "0").css("display", "none");
// 特殊处理:视听说学生端原文、传统教材都是没有钥匙的(直接隐藏掉)
$(".underlineContent").find("*[showflag='1']").attr("showflag", "0");
$(".cBoxCls").attr("data-status", "0");
}
if (isShowYX && isShowAS) {
$(".yaoshi").attr("data-status", "1");
$(".yaoshi").attr("src", PicInfo.yaoshiShowImgUrl);
$.each($(".yaoshi"), function (index, item) {
// 显示答案
$(".underlineContent").attr("showflag", "1");
});
}
else if (isShowYX && !isShowAS) {
$(".yaoshi").attr("data-status", "0");
$(".yaoshi").attr("src", PicInfo.yaoshiHideImgUrl);
$.each($(".yaoshi"), function (index, item) {
// 隐藏答案
$(".underlineContent").attr("showflag", "0");
});
}
DealCssShowFunc();
DealCssHiddenFunc();
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 处理点击事件
// 统一添加点击事件
function AddClickEvent() {
// 释放
$(".answer-body").unbind("click");
// 点击答案切换答案
$(".underlineContent").unbind("click");
// 绑定显示或隐藏答案
$(".yaoshi").unbind("click");
// 绑定高亮
$(".wordStyle").unbind("click");
$(".phraseStyle").unbind("click");
$(".sentenceStyle").unbind("click");
$(".sentImagcs").unbind("click");
// 绑定播放作答音频
$(".audioImg").unbind("click");
//点击播放事件,视频播放
$(".videoImg").unbind("click");
//作答录音播放按钮点击事件
$(".answer-audio-range").unbind("click");
// 重新绑定
// 绑定答题点
$(".answer-body").on("click", function () {
var curObj = new Object();
curObj.Id = $(this).attr("answer-id");//答题点ID
curObj.pId = $(this).attr("parent-anid");//答题点ID
curObj.IsKY = $(this).attr("answer-isky");//是否是口语试题,0-不是口语题,1-是口语题
curObj.Text = $(this).attr("answer-text");//用户作答内容
curObj.Score = $(this).attr("answer-score");//作答评分
curObj.AnsText = $(this).attr("answer-anstext");//参考答案
curObj.Comment = $(this).attr("answer-comment");//评语
// 选中样式渲染
$(".checkbox").removeClass("select-answer");
$(".answer-body").removeClass("select-answer");
$(".wordStyle,.phraseStyle,.sentenceStyle").attr("data-glclick", "0");
$(".cBoxClsBg").attr("data-select", "0");
if (curObj.pId == undefined || curObj.pId == null || curObj.pId == '' || curObj.pId == 'undefined') {
$(".answer-body[answer-id=" + curObj.Id + "]").addClass("select-answer");
}
else {
$(".answer-body[parent-anid=" + curObj.pId + "]").addClass("select-answer");
}
//已作答,弹出作答答案
if ($(this).data("ans-status") == "1") {
//移动端添加外部处理
onClickAnswerPoint(JSON.stringify(curObj));
}
else {
//移动端添加外部处理,弹出作答操作
onClickAnswerPoint(JSON.stringify(curObj));
}
});
// 点击答案切换答案
$(".underlineContent").on("click", function () {
var showFlag = $(this).attr("showflag");
if (showFlag != "1") {
return;
}
var answerID = $(this).attr("yaoshi-flag");
var parentID = $(".yaoshi[answer-id='" + answerID + "']").attr("parent-anid");
if (parentID == undefined || parentID == null || parentID == "undefined") {
parentID = '';
}
var answerIsky = $(".yaoshi[answer-id='" + answerID + "']").attr("answer-isky");
var answerText = $(".yaoshi[answer-id='" + answerID + "']").attr("answer-text");
var answerScore = $(".yaoshi[answer-id='" + answerID + "']").attr("answer-score");
var answerAnstext = $(".yaoshi[answer-id='" + answerID + "']").attr("answer-anstext");
var answerComment = $(".yaoshi[answer-id='" + answerID + "']").attr("answer-comment");
var curObj = new Object();
curObj.Id = answerID;//答题点ID
curObj.pId = parentID;//答题点ID
curObj.IsKY = answerIsky;//是否是口语试题,0-不是口语题,1-是口语题
curObj.Text = answerText;//用户作答内容
curObj.Score = answerScore;//作答评分
curObj.AnsText = answerAnstext;//参考答案
curObj.Comment = answerComment;//评语
// 选中样式渲染
var WType = "0";
if (answerText == "未作答" || answerText.length == 0) {
WType = "2";
}
else {
WType = "1";
}
$(".checkbox").removeClass("select-answer");
$(".answer-body").removeClass("select-answer");
$(".ULCBGUse").attr("data-select", "0");
$(".cBoxClsBg").attr("data-select", "0");
$(".wordStyle,.phraseStyle,.sentenceStyle").attr("data-glclick", "0");
// 延迟渲染,防止重合
window.setTimeout(function () {
if (curObj.pId == undefined || curObj.pId == null || curObj.pId == '' || curObj.pId == 'undefined') {
$(".underlineContent[yaoshi-flag=" + curObj.Id + "]").parent(".ULCBGUse").attr("data-select", WType);
if ($(".underlineContent[yaoshi-flag=" + curObj.Id + "]").length > 1) {
$(".underlineContent[yaoshi-flag=" + curObj.Id + "]").first().parent(".ULCBGUse").css("border-radius", "5px 0px 0px 5px");
$(".underlineContent[yaoshi-flag=" + curObj.Id + "]").last().parent(".ULCBGUse").css("border-radius", "0px 5px 5px 0px");
}
else {
$(".underlineContent[yaoshi-flag=" + curObj.Id + "]").parent(".ULCBGUse").css("border-radius", "5px");
}
}
else {
$(".underlineContent[parent-anid=" + curObj.pId + "]").parent(".ULCBGUse").attr("data-select", WType);
$.each($(".underlineContent[parent-anid=" + curObj.pId + "]"), function () {
var iAnswerID = $(this).attr("yaoshi-flag");
if ($(".underlineContent[yaoshi-flag=" + iAnswerID + "]").length > 1) {
$(".underlineContent[yaoshi-flag=" + iAnswerID + "]").first().parent(".ULCBGUse").css("border-radius", "5px 0px 0px 5px");
$(".underlineContent[yaoshi-flag=" + iAnswerID + "]").last().parent(".ULCBGUse").css("border-radius", "0px 5px 5px 0px");
}
else {
$(".underlineContent[yaoshi-flag=" + iAnswerID + "]").parent(".ULCBGUse").css("border-radius", "5px");
}
});
}
}, 100);
//已作答,弹出作答答案
if ($(this).data("ans-status") == "1") {
//移动端添加外部处理
onClickAnswerPoint(JSON.stringify(curObj));
}
else {
//移动端添加外部处理,弹出作答操作
onClickAnswerPoint(JSON.stringify(curObj));
}
});
// 绑定显示或隐藏答案
$(".yaoshi").on("click", function () {
$(".ULCBGUse").attr("data-select", "0");
$(".wordStyle,.phraseStyle,.sentenceStyle").attr("data-glclick", "0");
var answerid = $(this).attr("answer-id");
var parentanid = $(this).attr("parent-anid");
var datastatus = $(this).attr("data-status");
if (datastatus == "0") {
// 隐藏->显示
$(this).attr("data-status", "1");
$(this).attr("src", PicInfo.yaoshiShowImgUrl);
$(".underlineContent[yaoshi-flag='" + answerid + "']").attr("showflag", "1");
// 处理多答题点
if (parentanid != undefined && parentanid != null && parentanid != '') {
$(".yaoshi[parent-anid='" + parentanid + "']").attr("data-status", "1").attr("src", PicInfo.yaoshiShowImgUrl);
$(".underlineContent[parent-anid='" + parentanid + "']").attr("showflag", "1");
}
DealCssShowFunc();
}
else if (datastatus == "1") {
// 显示->隐藏
$(this).attr("data-status", "0");
$(this).attr("src", PicInfo.yaoshiHideImgUrl);
$(".underlineContent[yaoshi-flag='" + answerid + "']").attr("showflag", "0");
// 处理多答题点
if (parentanid != undefined && parentanid != null && parentanid != '') {
$(".yaoshi[parent-anid='" + parentanid + "']").attr("data-status", "0").attr("src", PicInfo.yaoshiHideImgUrl);
$(".underlineContent[parent-anid='" + parentanid + "']").attr("showflag", "0");
}
DealCssHiddenFunc();
}
});
// 绑定高亮
$(".wordStyle").on("click", function () {
$(".ULCBGUse").attr("data-select", "0");
$(".cBoxClsBg").attr("data-select", "0");
$(".wordStyle,.phraseStyle,.sentenceStyle").attr("data-glclick", "0");
$(this).attr("data-glclick", "1");
var datalstatus = $(this).attr("data-lstatus");
if (datalstatus != "1") {
return; // 不能点击
}
hitCodeFunc($(this).attr("hitCode"));
});
$(".phraseStyle").on("click", function () {
$(".ULCBGUse").attr("data-select", "0");
$(".cBoxClsBg").attr("data-select", "0");
$(".wordStyle,.phraseStyle,.sentenceStyle").attr("data-glclick", "0");
$(this).attr("data-glclick", "1");
var datalstatus = $(this).attr("data-lstatus");
if (datalstatus != "2") {
return; // 不能点击
}
hitCodeFunc($(this).attr("hitCode"));
});
$(".sentenceStyle").on("click", function () {
$(".ULCBGUse").attr("data-select", "0");
$(".cBoxClsBg").attr("data-select", "0");
$(".wordStyle,.phraseStyle,.sentenceStyle").attr("data-glclick", "0");
$(this).attr("data-glclick", "1");
var datalstatus = $(this).attr("data-lstatus");
if (datalstatus != "3") {
return; // 不能点击
}
hitCodeFunc($(this).attr("hitCode"));
});
$(".sentImagcs").on("click", function () {
$(".ULCBGUse").attr("data-select", "0");
$(".cBoxClsBg").attr("data-select", "0");
$(".wordStyle,.phraseStyle,.sentenceStyle").attr("data-glclick", "0");
$(this).next(".sentenceStyle").attr("data-glclick", "1");
var datalstatus = $(this).next(".sentenceStyle").attr("data-lstatus");
if (datalstatus != "3") {
return; // 不能点击
}
hitCodeFunc($(this).next(".sentenceStyle").attr("hitCode"));
});
// 绑定播放作答音频
$(".audioImg").on("click", function () {
$(".cBoxClsBg").attr("data-select", "0");
$(".wordStyle,.phraseStyle,.sentenceStyle").attr("data-glclick", "0");
audioPlayClick(this);
});
//点击播放事件,视频播放
$(".videoImg").on("click", function () {
$(".select-answer").removeClass("select-answer");
$(".cBoxClsBg").attr("data-select", "0");
$(".wordStyle,.phraseStyle,.sentenceStyle").attr("data-glclick", "0");
$(this).attr("audiourl", "");
var curHtml = $(this).parent().find(".videoUrl").html();
var curAlt = $(this).attr("alt");//播放视频地址
if (cTTypeFunc == 1) {
playVisiableAudioCallBack(2, $(this).attr("alt"));
}
else {
videoAudioClick("media:" + curAlt);
}
});
//作答录音播放按钮点击事件
$(".answer-audio-range").on("click", function () {
$(".cBoxClsBg").attr("data-select", "0");
$(".wordStyle,.phraseStyle,.sentenceStyle").attr("data-glclick", "0");
$(".select-answer").removeClass("select-answer");
var AudioID = $(this).parent(".underlineContent").attr("yaoshi-flag");
var AudioUrl = $(this).attr("answer-url");
recordAudioClick(this, AudioID, AudioUrl);
});
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 移动端统一调用:学生端视听说主体课文
// sWidthVal:屏幕宽度,isAStatus是否含有作答0表示没有,isMAStatus判断是否是主体课文1表示是
// data高亮知识点
function stuEntryFunc(sWidthVal, isAStatus, isMAStatus, data) {
bindEventYS(sWidthVal, isAStatus, isMAStatus);
if (cTTypeFunc == 2) {
TFillData = JSON.parse(data);
}
else {
TFillData = data;
}
var ReData = handleAnswerRange();
if (typeof (Fill) == "function") {
Fill(TFillData);
}
// 最终样式渲染
DealCssHiddenFunc();
// 点击事件补充
AddClickEvent();
return ReData;
}
// 移动端统一调用:教师端视听说主体课文
// sWidthVal:屏幕宽度,isAStatus是否含有作答0表示没有,isMAStatus判断是否是主体课文1表示是
// data高亮知识点
// isShowYX:显示和隐藏钥匙,isShowAS:显示和隐藏答案
function teaEntryFunc(sWidthVal, isAStatus, isMAStatus, data, isShowYX, isShowAS) {
bindEventYS(sWidthVal, isAStatus, isMAStatus);
if (cTTypeFunc == 2) {
TFillData = JSON.parse(data);
}
else {
TFillData = data;
}
if (typeof (Fill) == "function") {
Fill(TFillData);
}
// 最终样式渲染
DealCssHiddenFunc();
// 点击事件补充
AddClickEvent();
showHideAnswerEx(isShowYX, isShowAS);
}
// 移动端统一调用:教师/学生端视听说原文
// sWidthVal:屏幕宽度,isAStatus是否含有作答0表示没有,isMAStatus判断是否是主体课文1表示是
// isShowYX:显示和隐藏钥匙,isShowAS:显示和隐藏答案
function aYWFunc(sWidthVal, isAStatus, isMAStatus, isShowYX, isShowAS) {
bindEventTeaOrignalYS(sWidthVal, isAStatus, isMAStatus);
// 最终样式渲染
DealCssHiddenFunc();
// 点击事件补充
AddClickEvent();
showHideAnswerEx(isShowYX, isShowAS);
}
// 移动端统一调用:学生端传统教材
// sWidthVal:屏幕宽度,isAStatus是否含有作答0表示没有,isMAStatus判断是否是主体课文1表示是
// isShowYX:显示和隐藏钥匙,isShowAS:显示和隐藏答案
function stuCTJCFunc(sWidthVal, isAStatus, isMAStatus, isShowYX, isShowAS) {
aCTJCFunc(sWidthVal, isAStatus, isMAStatus, isShowYX, isShowAS);
}
// 移动端统一调用:教师端传统教材
// sWidthVal:屏幕宽度,isAStatus是否含有作答0表示没有,isMAStatus判断是否是主体课文1表示是
// isShowYX:显示和隐藏钥匙,isShowAS:显示和隐藏答案
function teaCTJCFunc(sWidthVal, isAStatus, isMAStatus, isShowYX, isShowAS) {
aCTJCFunc(sWidthVal, isAStatus, isMAStatus, isShowYX, isShowAS);
}
// 移动端统一调用:教师/学生端传统教材
// sWidthVal:屏幕宽度,isAStatus是否含有作答0表示没有,isMAStatus判断是否是主体课文1表示是
// isShowYX:显示和隐藏钥匙,isShowAS:显示和隐藏答案
// data高亮知识点
var Iindex = 0;
function aCTJCFunc(sWidthVal, isAStatus, isMAStatus, isShowYX, isShowAS, data) {
bindEventYS(sWidthVal, isAStatus, isMAStatus);
if (cTTypeFunc == 2) {
TFillData = JSON.parse(data);
}
else {
TFillData = data;
}
//if (data == null || data == "") {
// addFillAssist();
//}
//else
if (typeof (Fill) == "function") {
Fill(TFillData);
}
// 最终样式渲染
DealCssHiddenFunc();
// 点击事件补充
AddClickEvent();
showHideAnswerEx(isShowYX, isShowAS);
}
// 高亮调用统一接口(data传递高亮文本)
function FillFunc(data) {
if (cTTypeFunc == 2) {
TFillData = JSON.parse(data);
}
else {
TFillData = data;
}
Fill(TFillData);
// 最终样式渲染
DealCssShowFunc();
DealCssHiddenFunc();
// 点击事件补充
AddClickEvent();
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 移动端使用,true:表示点击表格且正在移动,需阻止模块切换
function getPressFlag() {
return pressTableFlag;
}
// 音频进度条松开回调
function mobileTEFunc(ID) {
pressTableFlag = false;
var CurrentTime = parseInt($(".LDFPWhite_" + ID).attr("data-ctime")); // 当前滑动的时间进度
var jQStr = ".LDFPlayS_" + ID;
var AudioUrl = $(jQStr).parent().prev(".LDivTop").find(".LDivTItem[data-selected='1']").attr("data-auduourl"); // 路径
if (cTTypeFunc == 1) {
// 移动端回调处理(安卓)
plugin.onSeekBarUp(ID, CurrentTime, AudioUrl);
}
else {
// 移动端回调处理(iOS)
var curObj = new Object();
curObj.Id = ID;//答题点ID
curObj.State = 1;
curObj.AudioUrl = AudioUrl;
curObj.CurrentTime = CurrentTime;
cancelBubble();
alert("jsSlider:" + JSON.stringify(curObj));
}
}
// 音频进度条按下回调
function mobileTSFunc(ID) {
pressTableFlag = true;
if (cTTypeFunc == 1) {
// 移动端回调处理(安卓)
plugin.onSeekBarDown(ID);
}
else {
// 移动端回调处理(iOS)
var curObj = new Object();
curObj.Id = ID;//答题点ID
curObj.State = 0;
cancelBubble();
alert("jsSlider:" + JSON.stringify(curObj));
}
}
// 控制字体大小
function adjustFontSize(FontSize) {
if (FontSize == null || FontSize < 80) {
return;
}
$(".LDFTimerS").attr("data-fsFlag", FontSize);
$(".TableContainer").attr("data-fsFlag", FontSize);
}
function playVisiableAudioCallBack(type, url) {
//console.log(url);
cancelBubble();
if (cTTypeFunc == 1) {
plugin.startPlay(type, url);
}
else {
alert("jsmedia:" + url);
}
}
// 答题点选择调移动端接口
function onClickAnswerPoint(data) {
if (cTTypeFunc == 1) {
//alert(JSON.stringify(data));
console.log(JSON.stringify(data));
//cancelBubble();
plugin.onClickAnswerPoint(data);
}
else {
cancelBubble();
alert(data);
}
}
function onClickKeyHide() {
cancelBubble();
if (cTTypeFunc == 1) {
plugin.onClickKeyHide();
}
else {
alert("yaoshi-control-hide");
}
}
function onClickKeyShow() {
cancelBubble();
if (cTTypeFunc == 1) {
plugin.onClickKeyShow();
}
else {
alert("yaoshi-control-show");
}
}
function cancelBubble(e) {
var evt = e ? e : window.event;
if (evt.stopPropagation) { //W3C
evt.stopPropagation();
} else { //IE
evt.cancelBubble = true;
}
}
function getSelectedText(title) {
var txt;
if (window.getSelection) {
txt = window.getSelection().toString();
} else if (window.document.getSelection) {
txt = window.document.getSelection().toString();
} else if (window.document.selection) {
txt = window.document.selection.createRange().text;
}
JSInterface.callback(txt, title);
}
// 控制播放按钮样式,OCStatus(0表示停止,1表示播放)
function playCssControl(iIndex, OCStatus) {
var jQStr = ".LDFPlayS_" + iIndex;
if (OCStatus == "0") {
$(jQStr).attr("data-playstatus", 0);
}
else {
$(jQStr).attr("data-playstatus", 1);
}
}
// 控制滑块接口(Id第几个音频,leftVal进度条实时时间(毫秒),allTimes表示总时间(毫秒))
function showImageFunc(Id, leftVal, allTimes) {
playImageFunc(Id, leftVal, allTimes);
}
// 暂停所有的样式
function StopAllCss() {
$.each($(".LDFPlayS"), function (index, item) {
$(this).attr("data-playstatus", "0");
});
};
//处理播放录音,answerid:答题点ID,isPlay:是否播放(0-暂停,1-播放)
function playRecordAudio(answerid, isPlay) {
//获取其他正在播放的音频
var playing = $(".answer-body[answer-id='" + answerid + "']").children(".answer-audio-range");
if (playing.length > 0) {
if (isPlay == "1") {
$(playing).attr("play-status", "1");
$(playing).find("img").attr("src", PicInfo.recordPauseImgUrl);//移动端要根据本地路径替换
}
else {
$(playing).attr("play-status", "0");
$(playing).find("img").attr("src", PicInfo.recordPlayImgUrl);//移动端要根据本地路径替换
}
}
else {
if (isPlay == "1") {
$(".underlineContent[yaoshi-flag='" + answerid + "']").find(".answer-audio-range").attr("play-status", "1");
$(".underlineContent[yaoshi-flag='" + answerid + "']").find(".answer-audio-range").find("img").attr("src", PicInfo.recordPauseImgUrl);//移动端要根据本地路径替换
}
else {
$(".underlineContent[yaoshi-flag='" + answerid + "']").find(".answer-audio-range").attr("play-status", "0");
$(".underlineContent[yaoshi-flag='" + answerid + "']").find(".answer-audio-range").find("img").attr("src", PicInfo.recordPlayImgUrl);//移动端要根据本地路径替换
}
}
}
//滚动到相应DIV
function scrollAnswer(answerid) {
//console.log(answerid);
$(".cBoxClsBg").attr("data-select", "0");
$(".ULCBGUse").attr("data-select", "0");
$(".answer-body").removeClass("select-answer");
var ansDom = $(".answer-body[parent-anid='" + answerid + "']");
if (ansDom.length == 0) {
ansDom = $(".cBoxCls[parent-anid='" + answerid + "']");
if (ansDom.length == 0) {
ansDom = $(".underlineContent[parent-anid='" + answerid + "']");
var TanswerText = "";
$.each($(".underlineContent[parent-anid=" + answerid + "]"), function () {
TanswerText += $(this).text();
});
var WType = "0";
console.log(TanswerText);
if (TanswerText == "未作答" || TanswerText.length == 0) {
WType = "2";
}
else {
WType = "1";
}
$(".underlineContent[parent-anid=" + answerid + "]").parent(".ULCBGUse").attr("data-select", WType);
if ($(".underlineContent[parent-anid=" + answerid + "]").length > 1) {
$(".underlineContent[parent-anid=" + answerid + "]").first().parent(".ULCBGUse").css("border-radius", "5px 0px 0px 5px");
$(".underlineContent[parent-anid=" + answerid + "]").last().parent(".ULCBGUse").css("border-radius", "0px 5px 5px 0px");
}
else {
$(".underlineContent[parent-anid=" + answerid + "]").parent(".ULCBGUse").css("border-radius", "5px");
}
}
else {
$(ansDom).parent(".cBoxClsBg").attr("data-select", "1");
}
}
else {
$(ansDom).addClass("select-answer");
}
var scroll_offset = $(ansDom).offset(); //得到box这个div层的offset,包含两个值,top和left
var offset_top = scroll_offset.top;
if (offset_top > 150) {
offset_top = offset_top - 200;
}
$("body,html").animate({
scrollTop: offset_top //让body的scrollTop等于pos的top,就实现了滚动
});
}
//暂停播放原文音频
function pauseTextAudio(audioid) {
//获取其他正在播放的音频
var playing = $(".audioImg[audio-id='" + audioid + "']");
if (playing.length > 0) {
$(playing).attr("play-status", "0");
$(playing).attr("src", PicInfo.audioPauseImgUrl);//移动端要根据本地 喇叭 路径替换
}
}
function playTextAudio(audioID) {
//获取其他正在播放的音频
var playing = $(".audioImg[audio-id='" + audioID + "']");
if (playing.length > 0) {
$(playing).attr("play-status", "1");
$(playing).attr("src", PicInfo.audioPlayImgUrl);//移动端要根据本地 喇叭 路径替换
}
}
// 点击高亮调移动端
function hitCodeFunc(code) {
//cancelBubble();
if (cTTypeFunc == 1) {
plugin.call(code);
}
else {
alert(code);
}
}
// 设置离焦事件
function resetPressFlag() {
pressTableFlag = false;
}
//作答录音播放按钮点击事件
function recordAudioClick(myobj, id, url) {
$(".select-answer").removeClass("select-answer");
$(".ULCBGUse").attr("data-select", "0");
$(myobj).parent(".underlineContent").parent(".ULCBGUse").attr("data-select", "1");
$(myobj).parent().parent("answer-body").addClass("select-answer");
//处理当前按钮的状态
if ($(myobj).attr("play-status") == "0") {
//停止其他作答音频播放
var isRecordPlaying = $(".answer-audio-range[play-status='1']");
if (isRecordPlaying.length > 0) {
$(isRecordPlaying).attr("play-status", "0");
$(isRecordPlaying).find("img").attr("src", PicInfo.recordPlayImgUrl);//移动端要根据本地路径替换
}
//停止其他原文音频播放
var audioPlaying = $(".audioImg[play-status='1']");
if (audioPlaying.length > 0) {
$(audioPlaying).attr("play-status", "0");
$(audioPlaying).attr("src", PicInfo.recordPlayImgUrl);//移动端要根据本地 喇叭 路径替换
}
//设置播放状态
$(myobj).attr("play-status", "1");
$(myobj).find("img").attr("src", PicInfo.recordPauseImgUrl);//移动端要根据本地路径替换
}
else {
$(myobj).attr("play-status", "0");
$(myobj).find("img").attr("src", PicInfo.recordPlayImgUrl);//移动端要根据本地路径替换
}
if (cTTypeFunc == 1) {
//移动端添加外部处理,播放录音(安卓)
var info = new Object();
info.Id = id;
info.AudioUrl = url;
//移动端添加外部处理,播放录音
playVisiableAudioCallBack(3, JSON.stringify(info));
}
else {
//移动端添加外部处理,播放录音(iOS)
cancelBubble();
alert("media:" + "1" + "℡№℡" + id + "℡№℡" + url);
}
}
function videoAudioClick(data) {
cancelBubble();
alert(data);
}
function topHeight(id) {
var _top = 0;
var input = document.getElementById(id); // 根据ID取得元素对象
while (input != null) {
_top += input.offsetTop;
input = input.offsetParent;
}
return _top;
}
function showStyleColor(index) {
var node = document.getElementById(index);
node.style = "color:rgba(0,153,0,1)";
}
function hideStyleColor(index) {
var node = document.getElementById(index);
node.style = "color:rgba(0,153,0,0)";
}
//function Running() {
// window.setTimeout(function () {
// $("#STIDStr").remove();
// //$(this).after('display:' + $(this).css("display") + "=>showflag:" + $(this).attr("showflag") + '
');
// $("p").eq(0).after('');
// var TStr = $("#STIDStr").text() + "=>Running";
// $("#STIDStr").text(TStr);
// }, 500);
//}
//Running();