| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334 |
- /*高亮文本标注*/
- function Fill(data) {
- var highlightArr = [];
- clearHighlight();
- //data = JSON.parse(data);
- $.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) {
- var hitCode = highlightItem.attr('hitCode');
- if (hitCode) {
- highlightItem.attr('hitCode', hitCode + "|" + item.SourceCode);
- }
- else {
- highlightItem.attr('hitCode', item.SourceCode);
- }
- highlightArr.push(highlightItem);
- }
- }
- else if (typeof (item.SourceCode) == 'undefined' || item.SourceCode == null || item.SourceCode != "") {
- var highlightItem = $('span[kcode*=' + item.SourceCode + ']:first');
- if (highlightItem.length > 0) {
- var hitCode = highlightItem.attr('hitCode');
- if (hitCode) {
- highlightItem.attr('hitCode', hitCode + "|" + item.SourceCode);
- }
- else {
- highlightItem.attr('hitCode', item.SourceCode);
- }
- highlightArr.push(highlightItem);
- }
- }
- $.each(highlightArr, function (i, item) {
- if (item.attr('flag') == 'word') {
- // data-scolor显示的颜色等级卡控,data-setstatus高亮是否处于显示状态,data-lstatus:卡控是否能点击(1单词,2短语,3句型)
- // 附加默认所有高亮都可见.attr("showflag", "1")
- bindEvent(item.attr('iskeyklg', 'true').attr("data-setstatus", "0").attr("showflag", "1").attr("data-scolor", cHPhraseStyleFunc(item)).addClass('wordStyle'), true);
- }
- else if (item.attr('flag') == 'phrase') {
- bindEvent(item.attr('iskeyklg', 'true').attr("data-setstatus", "0").attr("showflag", "1").addClass('phraseStyle'), true);
- }
- else if (item.attr('flag') == 'sentence') {
- if (item.attr('iskeyklg') == 'true') return;
- bindEvent(item.attr('iskeyklg', 'true').attr("data-setstatus", "0").attr("showflag", "1").addClass('sentenceStyle')
- .before('<img src="file:///android_asset/js/sentenceIco.png" class="sentImagcs" data-lstatus="0" data-setstatus="0">'), true);
- }
- });
- });
- // 绑定横线内处理
- if (typeof (addFillAssist) == "function") {
- addFillAssist();
- }
- adjustFillFunc(7);
- }
- function clearHighlight() {
- $('span.klg-selected').removeClass('klg-selected');
- $('span[iskeyklg="true"]').each(function (i, item) {
- $(item).removeAttr('hitCode');
- $(item).attr('iskeyklg', 'false');
- if ($(item).attr('flag') == 'word') {
- $(item).removeClass('wordStyle').unbind();
- }
- else if ($(item).attr('flag') == 'phrase') {
- $(item).removeClass("phraseStyle").unbind();
- }
- else if ($(item).attr('flag') == 'sentence') {
- $(item).removeClass('sentenceStyle').unbind();
- $(item).prev().filter('img.sentImagcs').remove();
- }
- })
- }
- function bindEvent(ele, opt) {
- if (opt) {
- var className = '';
- if (ele.hasClass('phraseStyle'))
- className = 'phraseStyle';
- else if (ele.hasClass('wordStyle'))
- className = 'wordStyle';
- else if (ele.hasClass('sentenceStyle'))
- className = 'sentenceStyle';
- switch (className) {
- case 'phraseStyle':
- ele.unbind().bind({
- 'click': function (e) {
- $(".wordStyle[data-nowclick='1'],.phraseStyle[data-nowclick='1'],.sentenceStyle[data-nowclick='1'],.sentImagcs[data-nowclick='1']").attr("data-nowclick", "0");
- ele.attr("data-nowclick", "1"); // 正在点击
- //plugin.call(code);
- //alert($(this).attr("hitCode"));
- if (ele.attr("data-lstatus") == "2") {
- return;
- }
- runSPropagation(ele);
- e.stopPropagation();
- var sHCode = $(this).attr("shcode");
- if (sHCode != undefined && sHCode == 1) {
- test($(this).attr("hitCode"));
- }
- else if (sHCode == undefined) {
- test($(this).attr("hitCode"));
- }
- }
- });
- break;
- case 'wordStyle':
- ele.unbind().bind({
- 'click': function (e) {
- $(".wordStyle[data-nowclick='1'],.phraseStyle[data-nowclick='1'],.sentenceStyle[data-nowclick='1'],.sentImagcs[data-nowclick='1']").attr("data-nowclick", "0");
- ele.attr("data-nowclick", "1"); // 正在点击
- //plugin.call(code);
- //alert($(this).attr("hitCode"));
- if (ele.attr("data-lstatus") == "1") {
- return;
- }
- runSPropagation(ele);
- e.stopPropagation();
- var sHCode = $(this).attr("shcode");
- if (sHCode != undefined && sHCode == 1) {
- test($(this).attr("hitCode"));
- }
- else if (sHCode == undefined) {
- test($(this).attr("hitCode"));
- }
- }
- });
- break;
- case 'sentenceStyle':
- ele.unbind().bind({
- 'click': function (e) {
- $(".wordStyle[data-nowclick='1'],.phraseStyle[data-nowclick='1'],.sentenceStyle[data-nowclick='1'],.sentImagcs[data-nowclick='1']").attr("data-nowclick", "0");
- ele.attr("data-nowclick", "1"); // 正在点击
- ele.next(".sentenceStyle").attr("data-nowclick", "1"); // 正在点击
- //plugin.call(code);
- //alert($(this).attr("hitCode"));
- if (ele.attr("data-lstatus") == "3") {
- return;
- }
- runSPropagation(ele);
- e.stopPropagation();
- var sHCode = $(this).attr("shcode");
- if (sHCode != undefined && sHCode == 1) {
- test($(this).attr("hitCode"));
- }
- else if (sHCode == undefined) {
- test($(this).attr("hitCode"));
- }
- }
- }).prev().filter('.sentImagcs').unbind().bind({
- 'click': function (e) {
- $(".wordStyle[data-nowclick='1'],.phraseStyle[data-nowclick='1'],.sentenceStyle[data-nowclick='1'],.sentImagcs[data-nowclick='1']").attr("data-nowclick", "0");
- ele.attr("data-nowclick", "1"); // 正在点击
- ele.next(".sentenceStyle").attr("data-nowclick", "1"); // 正在点击
- //plugin.call(code);
- //alert($(this).attr("hitCode"));
- if (ele.attr("data-lstatus") == "3") {
- return;
- }
- runSPropagation(ele);
- e.stopPropagation();
- var sHCode = $(this).attr("shcode");
- if (sHCode != undefined && sHCode == 1) {
- test($(this).next().attr("hitCode"));
- }
- else if (sHCode == undefined) {
- test($(this).next().attr("hitCode"));
- }
- }
- });
- break;
- }
- }
- else {
- ele.unbind();
- }
- }
- // #region
- // 判断显示层级:0表示最外层;1表示在underlineContent里面;2表示在phraseStyle里面;5表示在underlineContent且phraseStyle在underlineContent里面,7表示在phraseStyle且underlineContent在phraseStyle里面
- function cHPhraseStyleFunc(element) {
- var ReNumber = 0;
- var wFlag=true;
- while (wFlag) {
- var ClsName = $(element).attr("class");
- if ($(element).parent() == null || $(element)[0].tagName.toUpperCase() == "BODY") {
- wFlag = false;
- return ReNumber;
- }
- else if (ClsName != undefined && ClsName.indexOf("phraseStyle") > -1) {
- wFlag = false;
- ReNumber += 1;
- }
- else if (ClsName != undefined && ClsName.indexOf("underlineContent") > -1) {
- wFlag = false;
- ReNumber += 2;
- }
- element = $(element).parent();
- };
- wFlag = true;
- while (wFlag) {
- var ClsName = $(element).attr("class");
- if ($(element).parent() == null || $(element)[0].tagName.toUpperCase() == "BODY") {
- wFlag = false;
- return ReNumber;
- }
- else if (ClsName != undefined && ClsName.indexOf("phraseStyle") > -1) {
- wFlag = false;
- ReNumber += 3;
- return ReNumber;
- }
- else if (ClsName != undefined && ClsName.indexOf("underlineContent") > -1) {
- wFlag = false;
- ReNumber += 5;
- return ReNumber;
- }
- element = $(element).parent();
- };
- return ReNumber;
- }
- // 添加高亮新调用处理(1:单词;2:短语;4:句型)
- var fillDataNum = 0;
- function adjustFillFunc(DataNum) {
- fillDataNum = DataNum;
- switch (DataNum) {
- case 0:
- $(".wordStyle").attr("data-setstatus", "0").attr("data-lstatus", "1");
- $(".phraseStyle").attr("data-setstatus", "0").attr("data-lstatus", "2");
- $(".sentenceStyle").attr("data-setstatus", "0").attr("data-lstatus", "3");
- $(".sentImagcs").attr("data-setstatus", "0").attr("data-lstatus", "3");
- break;
- case 1:
- $(".wordStyle").attr("data-setstatus", "1").attr("data-lstatus", "0");
- $(".phraseStyle").attr("data-setstatus", "0").attr("data-lstatus", "2");
- $(".sentenceStyle").attr("data-setstatus", "0").attr("data-lstatus", "3");
- $(".sentImagcs").attr("data-setstatus", "0").attr("data-lstatus", "3");
- break;
- case 2:
- $(".wordStyle").attr("data-setstatus", "0").attr("data-lstatus", "1");
- $(".phraseStyle").attr("data-setstatus", "1").attr("data-lstatus", "0");
- $(".sentenceStyle").attr("data-setstatus", "0").attr("data-lstatus", "3");
- $(".sentImagcs").attr("data-setstatus", "0").attr("data-lstatus", "3");
- break;
- case 3:
- $(".wordStyle").attr("data-setstatus", "1").attr("data-lstatus", "0");
- $(".phraseStyle").attr("data-setstatus", "1").attr("data-lstatus", "0");
- $(".sentenceStyle").attr("data-setstatus", "0").attr("data-lstatus", "3");
- $(".sentImagcs").attr("data-setstatus", "0").attr("data-lstatus", "3");
- break;
- case 4:
- $(".wordStyle").attr("data-setstatus", "0").attr("data-lstatus", "1");
- $(".phraseStyle").attr("data-setstatus", "0").attr("data-lstatus", "2");
- $(".sentenceStyle").attr("data-setstatus", "1").attr("data-lstatus", "0");
- $(".sentImagcs").attr("data-setstatus", "1").attr("data-lstatus", "0");
- break;
- case 5:
- $(".wordStyle").attr("data-setstatus", "1").attr("data-lstatus", "0");
- $(".phraseStyle").attr("data-setstatus", "0").attr("data-lstatus", "2");
- $(".sentenceStyle").attr("data-setstatus", "1").attr("data-lstatus", "0");
- $(".sentImagcs").attr("data-setstatus", "1").attr("data-lstatus", "0");
- break;
- case 6:
- $(".wordStyle").attr("data-setstatus", "0").attr("data-lstatus", "1");
- $(".phraseStyle").attr("data-setstatus", "1").attr("data-lstatus", "0");
- $(".sentenceStyle").attr("data-setstatus", "1").attr("data-lstatus", "0");
- $(".sentImagcs").attr("data-setstatus", "1").attr("data-lstatus", "0");
- break;
- case 7:
- $(".wordStyle").attr("data-setstatus", "1").attr("data-lstatus", "0");
- $(".phraseStyle").attr("data-setstatus", "1").attr("data-lstatus", "0");
- $(".sentenceStyle").attr("data-setstatus", "1").attr("data-lstatus", "0");
- $(".sentImagcs").attr("data-setstatus", "1").attr("data-lstatus", "0");
- break;
- default:
- break;
- };
- // 处理不显示高亮
- if (typeof (dealNotShowFill) == "function") {
- dealNotShowFill();
- }
- dealJXQTFunc();
- dealRecvHSFill();
- if (typeof (dealNSFillFunc) == "function") {
- dealNSFillFunc();
- }
- }
- // #endregion
- function test(code) {
- //alert(code);
- cancelBubble();
- plugin.call(code);
- }
- // 判断父级是否是答题点,是的话需要选中
- function runSPropagation(ele) {
- var ClsName = $(ele).parent().attr("class");
- if (ClsName != null && (ClsName.indexOf("answer-text") > -1 || ClsName.indexOf("answer-audio-text") > -1 || ClsName.indexOf("answer-point-text") > -1)) {
- // 调用选择答题点回显
- var TElement = "";
- if (ClsName.indexOf("answer-text") > -1) {
- TElement = $(ele).parent().parent();
- }
- else if (ClsName.indexOf("answer-audio-text") > -1) {
- TElement = $(ele).parent().parent().parent().parent();
- }
- else if (ClsName.indexOf("answer-point-text") > -1) {
- TElement = $(ele).parent().parent().parent();
- }
- var curObj = new Object();
- curObj.Id = TElement.attr("answer-id");//答题点ID
- curObj.pId = TElement.attr("parent-anid");//答题点ID
- curObj.IsKY = TElement.attr("answer-isky");//是否是口语试题,0-不是口语题,1-是口语题
- curObj.Text = TElement.attr("answer-text");//用户作答内容
- curObj.Score = TElement.attr("answer-score");//作答评分
- curObj.AnsText = TElement.attr("answer-anstext");//参考答案
- curObj.Comment = TElement.attr("answer-comment");//评语
- curObj.pId = curObj.pId ? curObj.pId : curObj.Id;//组ID
- $(".checkbox").removeClass("select-answer");
- $(".answer-body").removeClass("select-answer");
- TElement.addClass("select-answer");
- //已作答,弹出作答答案
- if (TElement.data("ans-status") == "1") {
- //移动端添加外部处理
- onClickAnswerPoint(JSON.stringify(curObj));
- }
- else {
- //移动端添加外部处理,弹出作答操作
- onClickAnswerPoint(JSON.stringify(curObj));
- }
- }
- }
|