Ver código fonte

上传修改

namejr 4 anos atrás
pai
commit
e9814feac9
2 arquivos alterados com 51 adições e 39 exclusões
  1. 1 1
      EBook.Web/Common/tasklib_book.css
  2. 50 38
      EBook.Web/Common/tasklib_book.js

+ 1 - 1
EBook.Web/Common/tasklib_book.css

@@ -141,7 +141,7 @@ p .answer-body:first-child{
     z-index: 3;
     border-radius:3px;
 }
-.TableContainer td{
+.TableContainer[data-isaflag='1'] td{
     min-width:205px !important;
 }
 td p{

+ 50 - 38
EBook.Web/Common/tasklib_book.js

@@ -245,7 +245,12 @@ var AdjustTableFunc = function (sWidthVal, isAStatus) {
         $.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,
@@ -267,22 +272,19 @@ var AdjustTableFunc = function (sWidthVal, isAStatus) {
                     tdWidthVal = ScreenWidth;
                 }
                 // 判断是否需要设置最小宽度
-                if (tdWidthVal < TempMinWidth && IsSetMinWidthFunc(tdItem) && isAStatus==1) {
+                if (tdWidthVal < TempMinWidth && IsSetMinWidthFunc(tdItem) && isAStatus == 1) {
                     tdWidthVal = TempMinWidth;
                 }
                 else if (tdWidthVal < 100 && isAStatus == 1) {
                     tdWidthVal = 100;
                 }
                 if (ArrMaxLen.length < tdIndex + 1) {
-                    if (trIndex != 0) {
-                        RuleFlag = false;
-                    }
                     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) {
+                            if (ArrMaxLen[tdIndex] < tdWidthVal && ColSpanNum == 1) {
                                 TotalMaxLen += tdWidthVal - ArrMaxLen[tdIndex];
                                 ArrMaxLen[tdIndex] = tdWidthVal;
                             }
@@ -290,7 +292,7 @@ var AdjustTableFunc = function (sWidthVal, isAStatus) {
                     }
                 }
                 else {
-                    if (ArrMaxLen[tdIndex] < tdWidthVal) {
+                    if (ArrMaxLen[tdIndex] < tdWidthVal && ColSpanNum == 1) {
                         TotalMaxLen += tdWidthVal - ArrMaxLen[tdIndex];
                         ArrMaxLen[tdIndex] = tdWidthVal;
                     }
@@ -306,7 +308,7 @@ var AdjustTableFunc = function (sWidthVal, isAStatus) {
             }
         });
         // 判断表格是否只有一行
-        if ($(item).find("tr").length == 1 && $(item).find("tr").eq(0).find("td").length == 1) {
+        if ($(item).find("tr").length == 1 && $(item).find("td").length == 1) {
             $(item).find("tr").eq(0).find("td").eq(0).css("width", (ScreenWidth - 14 - GetPadVal(document.body)) + "px");
             $(item).css("width", (ScreenWidth - 4 - GetPadVal(document.body)) + "px");
         }
@@ -320,7 +322,7 @@ var AdjustTableFunc = function (sWidthVal, isAStatus) {
             }
             var OneFlag = false;
             for (var i = 0; i < ArrMaxLen.length; i++) {
-                if (ArrMaxLen[i] != undefined && $(item).find("tr").eq(0).find("td").length > 1 && RuleFlag) {
+                if (ArrMaxLen[i] != undefined && ($(item).find("td").length > 1 || $(item).find("tr").length > 1) && RuleFlag) {
                     if (i < ArrMaxLen.length - 1) {
                         $(item).find("tr").eq(0).find("td").eq(i).css("width", ArrMaxLen[i] + "px");
                         TableWidth += ArrMaxLen[i];
@@ -330,34 +332,34 @@ var AdjustTableFunc = function (sWidthVal, isAStatus) {
                         TableWidth += (ArrMaxLen[i] - 10);
                     }
                 }
-                else if (ArrMaxLen[i] != undefined && $(item).find("tr").eq(0).find("td").length > 1 && !RuleFlag) {
-                    if (i == ArrMaxLen.length - 1) {
-                        var FLenVal = $(item).find("tr").eq(0).find("td").length;
-                        var AllLenArr = [];
-                        for (var j = 0; j < FLenVal; j++) {
-                            var colSpanNum = parseInt($(item).find("tr").eq(0).find("td").eq(j).attr("colspan"));
-                            colSpanNum = (colSpanNum == 0 || isNaN(colSpanNum)) ? 1 : colSpanNum
-                            AllLenArr.push(colSpanNum);
-                        }
-                        var AIndex = 0;
-                        for (var j = 0; j < AllLenArr.length; j++) {
-                            var AWidthVal = 0;
-                            for (var k = 0; k < parseInt(AllLenArr[j]) ; k++) {
-                                AWidthVal += ArrMaxLen[AIndex];
-                                AIndex += 1;
-                            }
-                            if (j == FLenVal - 1) {
-                                TableWidth += AWidthVal - 10;
-                                $(item).find("tr").eq(0).find("td").eq(j).css("width", (AWidthVal - 10) + "px");
-                            }
-                            else {
-                                TableWidth += AWidthVal;
-                                $(item).find("tr").eq(0).find("td").eq(j).css("width", AWidthVal + "px");
-                            }
-                        }
-                    }
-                }
-                else if (ArrMaxLen[i] != undefined && $(item).find("tr").eq(0).find("td").length == 1) {
+                //else if (ArrMaxLen[i] != undefined && $(item).find("tr").eq(0).find("td").length > 1 && !RuleFlag && isAStatus==1) {
+                //    if (i == ArrMaxLen.length - 1) {
+                //        var FLenVal = $(item).find("tr").eq(0).find("td").length;
+                //        var AllLenArr = [];
+                //        for (var j = 0; j < FLenVal; j++) {
+                //            var colSpanNum = parseInt($(item).find("tr").eq(0).find("td").eq(j).attr("colspan"));
+                //            colSpanNum = (colSpanNum == 0 || isNaN(colSpanNum)) ? 1 : colSpanNum
+                //            AllLenArr.push(colSpanNum);
+                //        }
+                //        var AIndex = 0;
+                //        for (var j = 0; j < AllLenArr.length; j++) {
+                //            var AWidthVal = 0;
+                //            for (var k = 0; k < parseInt(AllLenArr[j]) ; k++) {
+                //                AWidthVal += ArrMaxLen[AIndex];
+                //                AIndex += 1;
+                //            }
+                //            if (j == FLenVal - 1) {
+                //                TableWidth += AWidthVal - 10;
+                //                $(item).find("tr").eq(0).find("td").eq(j).css("width", (AWidthVal - 10) + "px");
+                //            }
+                //            else {
+                //                TableWidth += AWidthVal;
+                //                $(item).find("tr").eq(0).find("td").eq(j).css("width", AWidthVal + "px");
+                //            }
+                //        }
+                //    }
+                //}
+                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;
@@ -367,6 +369,16 @@ var AdjustTableFunc = function (sWidthVal, isAStatus) {
                     }
                 }
             }
+            if (ArrMaxLen != undefined && ($(item).find("td").length > 1 || $(item).find("tr").length > 1) && !RuleFlag) {
+                $.each($(item).find("tr"), function (trIndex, trItem) {
+                    if ($(trItem).find("td").length == ArrMaxLen.length) {
+                        $.each($(trItem).find("td"), function (tdIndex, tdItem) {
+                            TableWidth += ArrMaxLen[tdIndex];
+                            $(tdItem).css("width", ArrMaxLen[tdIndex] + "px");
+                        });
+                    }
+                });
+            }
             if (OneFlag) {
                 $(item).find("tr").eq(0).find("td").eq(0).css("width", TableWidth + "px");
             }
@@ -952,7 +964,7 @@ function showHideAnswerEx(isShowYX, isShowAS) {
 }
 
 //页面加载完,原文 绑定事件(sWidthVal:屏幕宽度,isAStatus是否含有作答0表示没有)
-function bindEventTeaOrignalYS(sWidthVal,isAStatus) {
+function bindEventTeaOrignalYS(sWidthVal, isAStatus) {
     var bodyWidth = $(document.body).width();
     //处理答题点
     $.each($(".yaoshi"), function (index, item) {
@@ -1014,7 +1026,7 @@ function bindEventTeaOrignalYS(sWidthVal,isAStatus) {
     });
     //处理表格宽度
     isAStatus = (isAStatus == "undefined" || isAStatus == null) ? 0 : 1;
-    AdjustTableFunc(sWidthVal,isAStatus);
+    AdjustTableFunc(sWidthVal, isAStatus);
     // 音频处理
     if (TestFlag) {
         $.each($(".audioImg"), function (index, element) {