瀏覽代碼

上传图片处理

namejr 4 年之前
父節點
當前提交
28066d0094
共有 1 個文件被更改,包括 57 次插入12 次删除
  1. 57 12
      EBook.Web/Common/tasklib_book.js

+ 57 - 12
EBook.Web/Common/tasklib_book.js

@@ -69,7 +69,7 @@ var GetPadVal = function (THandel) {
     }
 };
 // 获取最大字符长度的字符串(起决定宽度的字符串/将字符去除HTML标签)(使用)
-var removeHtmlFunc = function (htmlStr) {
+var removeHtmlFunc = function (htmlStr, TdWidthVal) {
     var ReArr = {
         TextStr: "",
         WidthVal: 0,
@@ -80,9 +80,28 @@ var removeHtmlFunc = function (htmlStr) {
     var matchesArr = htmlStr.match(pattStr);
     if (matchesArr != null && (matchesArr != undefined && matchesArr.length > 0)) {
         for (var i = 0; i < matchesArr.length; i++) {
-            var pattWStr = new RegExp(/width\s?:\s?[0-9]+px;/ig);
+            var TempWidthVal = 0;
+            var pattWStr = new RegExp(/width\s?:\s?[0-9|p|x|%]+;/ig);
             var matchesWArr = matchesArr[i].match(pattWStr);
-            var TempWidthVal = parseFloat(matchesWArr[0].replace(/\s/g, "").replace("width:", "").replace("px", ""));
+            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;
@@ -161,6 +180,28 @@ var dealTdTextFunc = function (htmlStr) {
 var GetMinTableVal = function (TSWidth) {
     return 165 + (TSWidth - 320) * 0.09;
 };
+// 处理表格内的图片宽度
+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[class!='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");
+            }
+        }
+    });
+};
 var AdjustTableFunc = function () {
     // 添加宽度处理
     var ScreenWidth = $(document.body).width();
@@ -168,6 +209,7 @@ var AdjustTableFunc = function () {
     $(document.body).css("width", "999999px");
     $(document.body).append('<span id="pContrainId"></span>');
     var Index = 0;
+    $("table").find(".yaoshi").addClass("nextpic");
     $.each($("table"), function (index, item) {
         // 处理表格总宽度
         var ArrMaxLen = [];
@@ -176,7 +218,10 @@ var AdjustTableFunc = function () {
         var RuleFlag = true;
         $.each($(item).find("tr"), function (trIndex, trItem) {
             $.each($(trItem).find("td"), function (tdIndex, tdItem) {
-                var RemoveHtmlArr = removeHtmlFunc($(tdItem).html());
+                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);
@@ -440,7 +485,7 @@ var TouchMoveX = 0;
 var TouchIndex = -1;  // 位置标识
 var TallTimeNum = 0;  // 总时间
 var LeftTimeNum = 0;  // 总时间
-var PWidthValNum=0;  // 总宽度
+var PWidthValNum = 0;  // 总宽度
 // 滑块滑动控制(按下去)
 function TouchStartFunc(event) {
     TouchStartX = event.touches[0].pageX;
@@ -1272,7 +1317,7 @@ function handleAnswerRange() {
                 break;
             }
         }
-        $(item).prop("outerHTML", "<div class='answer-body' answer-id='" + answerid + "' parent-anid='" + parentId + "' answer-anstext='" + answerText + "' answer-isky='" + isky + "' answer-showanswer='0'><div class='answer-audio-range'><img src='" + PicInfo.recordPlayImgUrl + "'/><span class='answer-audio-text'>作答音频</span></div><div class='answer-point-range'><img src='" + PicInfo.answerPointImgUrl + "'/><span class='answer-point-text'>答题点</span></div><buttom class='answer-text'></buttom></div>");
+        $(item).prop("outerHTML", "<div class='answer-body' answer-id='" + answerid + "' parent-anid='" + parentId + "' answer-anstext='" + answerText + "' answer-isky='" + isky + "' answer-showanswer='0'><div class='answer-audio-range'><img class='nextpic' class='nextpic' src='" + PicInfo.recordPlayImgUrl + "'/><span class='answer-audio-text'>作答音频</span></div><div class='answer-point-range'><img class='nextpic' src='" + PicInfo.answerPointImgUrl + "'/><span class='answer-point-text'>答题点</span></div><buttom class='answer-text'></buttom></div>");
         //删除钥匙节点
         var prev = $("img[answer-id='" + answerid + "']");
         if (prev.length > 0) {
@@ -1440,10 +1485,10 @@ function getAllAnswer() {
         }
         //mytext = mytext == "" ? "&nbsp;&nbsp;&nbsp;" : mytext;
         if (!isanswer) {
-            $(item).prop("outerHTML", "<div class='answer-body' answer-id='" + answerid + "' parent-anid='" + parentid + "' answer-anstext='" + answerText + "' answer-isky='2'><div class='answer-audio-range'><img src='" + PicInfo.recordPlayImgUrl + "'/><span class='answer-audio-text'>作答音频</span></div><div class='answer-point-range' style='display:none;'><img src='" + PicInfo.answerPointImgUrl + "'/><span class='answer-point-text'>答题点</span></div><buttom class='answer-text no-answer' style='display:block;'>" + mytext + "</buttom></div>");
+            $(item).prop("outerHTML", "<div class='answer-body' answer-id='" + answerid + "' parent-anid='" + parentid + "' answer-anstext='" + answerText + "' answer-isky='2'><div class='answer-audio-range'><img class='nextpic' src='" + PicInfo.recordPlayImgUrl + "'/><span class='answer-audio-text'>作答音频</span></div><div class='answer-point-range' style='display:none;'><img class='nextpic' src='" + PicInfo.answerPointImgUrl + "'/><span class='answer-point-text'>答题点</span></div><buttom class='answer-text no-answer' style='display:block;'>" + mytext + "</buttom></div>");
         }
         else {
-            $(item).prop("outerHTML", "<div class='answer-body' answer-id='" + answerid + "' parent-anid='" + parentid + "' answer-anstext='" + answerText + "' answer-isky='2'><div class='answer-audio-range'><img src='" + PicInfo.recordPlayImgUrl + "'/><span class='answer-audio-text'>作答音频</span></div><div class='answer-point-range' style='display:none;'><img src='" + PicInfo.answerPointImgUrl + "'/><span class='answer-point-text'>答题点</span></div><buttom class='answer-text' style='display:block;'>" + mytext + "</buttom></div>");
+            $(item).prop("outerHTML", "<div class='answer-body' answer-id='" + answerid + "' parent-anid='" + parentid + "' answer-anstext='" + answerText + "' answer-isky='2'><div class='answer-audio-range'><img class='nextpic' src='" + PicInfo.recordPlayImgUrl + "'/><span class='answer-audio-text'>作答音频</span></div><div class='answer-point-range' style='display:none;'><img class='nextpic' src='" + PicInfo.answerPointImgUrl + "'/><span class='answer-point-text'>答题点</span></div><buttom class='answer-text' style='display:block;'>" + mytext + "</buttom></div>");
         }
     });
     ControlFlag = false;
@@ -1645,10 +1690,10 @@ function backupAllAnswer(answerJson, statusType) {
                 }
                 //mytext = mytext == "" ? "&nbsp;&nbsp;&nbsp;" : mytext;
                 if (!isanswer) {
-                    $(item).prop("outerHTML", "<div class='answer-body' answer-id='" + answerid + "' parent-anid='" + parentid + "' answer-anstext='" + answerText + "' answer-isky='2' answer-text='" + mytext + "'><div class='answer-audio-range'><img src='" + PicInfo.recordPlayImgUrl + "'/><span class='answer-audio-text'>作答音频</span></div><div class='answer-point-range' style='display:none;'><img src='" + PicInfo.answerPointImgUrl + "'/><span class='answer-point-text'>答题点</span></div><buttom class='answer-text no-answer' style='display:block;'>" + mytext + "</buttom></div>");
+                    $(item).prop("outerHTML", "<div class='answer-body' answer-id='" + answerid + "' parent-anid='" + parentid + "' answer-anstext='" + answerText + "' answer-isky='2' answer-text='" + mytext + "'><div class='answer-audio-range'><img class='nextpic' src='" + PicInfo.recordPlayImgUrl + "'/><span class='answer-audio-text'>作答音频</span></div><div class='answer-point-range' style='display:none;'><img class='nextpic' src='" + PicInfo.answerPointImgUrl + "'/><span class='answer-point-text'>答题点</span></div><buttom class='answer-text no-answer' style='display:block;'>" + mytext + "</buttom></div>");
                 }
                 else {
-                    $(item).prop("outerHTML", "<div class='answer-body' answer-id='" + answerid + "' parent-anid='" + parentid + "' answer-anstext='" + answerText + "' answer-isky='2' answer-text='" + mytext + "'><div class='answer-audio-range'><img src='" + PicInfo.recordPlayImgUrl + "'/><span class='answer-audio-text'>作答音频</span></div><div class='answer-point-range' style='display:none;'><img src='" + PicInfo.answerPointImgUrl + "'/><span class='answer-point-text'>答题点</span></div><buttom class='answer-text' style='display:block;'>" + mytext + "</buttom></div>");
+                    $(item).prop("outerHTML", "<div class='answer-body' answer-id='" + answerid + "' parent-anid='" + parentid + "' answer-anstext='" + answerText + "' answer-isky='2' answer-text='" + mytext + "'><div class='answer-audio-range'><img class='nextpic' src='" + PicInfo.recordPlayImgUrl + "'/><span class='answer-audio-text'>作答音频</span></div><div class='answer-point-range' style='display:none;'><img class='nextpic' src='" + PicInfo.answerPointImgUrl + "'/><span class='answer-point-text'>答题点</span></div><buttom class='answer-text' style='display:block;'>" + mytext + "</buttom></div>");
                 }
             }
         });
@@ -1854,10 +1899,10 @@ function backupAllReview(answerJson) {
             }
             //mytext = mytext == "" ? "&nbsp;&nbsp;&nbsp;" : mytext;
             if (!isanswer) {
-                $(item).prop("outerHTML", "<div class='answer-body' answer-id='" + answerid + "' parent-anid='" + parentid + "' answer-anstext='" + answerText + "' answer-isky='2' answer-text='" + mytext + "'><div class='answer-audio-range'><img src='" + PicInfo.recordPlayImgUrl + "'/><span class='answer-audio-text'>作答音频</span></div><div class='answer-point-range' style='display:none;'><img src='" + PicInfo.answerPointImgUrl + "'/><span class='answer-point-text'>答题点</span></div><buttom class='answer-text' style='display:block;'>" + mytext + "</buttom></div>");
+                $(item).prop("outerHTML", "<div class='answer-body' answer-id='" + answerid + "' parent-anid='" + parentid + "' answer-anstext='" + answerText + "' answer-isky='2' answer-text='" + mytext + "'><div class='answer-audio-range'><img class='nextpic' src='" + PicInfo.recordPlayImgUrl + "'/><span class='answer-audio-text'>作答音频</span></div><div class='answer-point-range' style='display:none;'><img class='nextpic' src='" + PicInfo.answerPointImgUrl + "'/><span class='answer-point-text'>答题点</span></div><buttom class='answer-text' style='display:block;'>" + mytext + "</buttom></div>");
             }
             else {
-                $(item).prop("outerHTML", "<div class='answer-body' answer-id='" + answerid + "' parent-anid='" + parentid + "' answer-anstext='" + answerText + "' answer-isky='2' answer-text='" + mytext + "'><div class='answer-audio-range'><img src='" + PicInfo.recordPlayImgUrl + "'/><span class='answer-audio-text'>作答音频</span></div><div class='answer-point-range' style='display:none;'><img src='" + PicInfo.answerPointImgUrl + "'/><span class='answer-point-text'>答题点</span></div><buttom class='answer-text no-answer' style='display:block;'>" + mytext + "</buttom></div>");
+                $(item).prop("outerHTML", "<div class='answer-body' answer-id='" + answerid + "' parent-anid='" + parentid + "' answer-anstext='" + answerText + "' answer-isky='2' answer-text='" + mytext + "'><div class='answer-audio-range'><img class='nextpic' src='" + PicInfo.recordPlayImgUrl + "'/><span class='answer-audio-text'>作答音频</span></div><div class='answer-point-range' style='display:none;'><img class='nextpic' src='" + PicInfo.answerPointImgUrl + "'/><span class='answer-point-text'>答题点</span></div><buttom class='answer-text no-answer' style='display:block;'>" + mytext + "</buttom></div>");
             }
             //评阅样式
             if (answerList[index].Score == 0) {