摘要:解決尋找到每一個,添加上即可。解決因為內部使用到了,它在這兩款表現不同于谷歌。現在通過計算內部的文字長度來推算像素。火狐和中字體的長度就是雙字節文字按基礎像素計算,單字節文字接觸像素。
在 layui 的社區已經寫過了,但是社區的編輯器實在不行,在此重新書寫一遍,正好可以鞏固下table.js
描述:【所有瀏覽器】 加載圖標是靜止的,想要做成動畫。
解決:尋找到每一個layui-icon-loading,添加上 class layui-anim layui-anim-rotate layui-anim-loop即可。
描述:【火狐和IE10+】單元格內如果是純文本,那么后面的省略的字數需要達到 3 個字符以上才會觸發 layer.tips 彈窗。
解決:因為內部使用到了scrollWidth,它在這兩款表現不同于谷歌。現在通過計算內部的文字長度來推算像素。
// 源碼 table.js 1600 左右開始 var othis = $(this) ,elemCell = othis.children(ELEM_CELL); // m var computedFontWidth = function() { var fontSize = parseFloat(elemCell.css("font-size")) var text = elemCell.text() var width = 0, i = 0, len = text.length while ( i < len) { // 基礎像素,我的是 14px,不知道可以看 html 或者 body 內的字體大小設置。 // 火狐和IE中字體的長度就是雙字節文字按基礎像素計算,單字節文字接觸像素/2。 // 谷歌比較另類,雙字節文字按基礎像素計算,單字節是基礎像素/2與 16/2 的差值, // 不知道是不是我想復雜了,所以用 +1,微調下瀏覽器的差異 width += text.charAt(i).match(/[^x00-xff]/ig) != null ? fontSize : (fontSize / 2 + 1) i++ } return width } var computedScrollWidth = function() { var hasChildren = elemCell.children().length > 0 var originScrollWidth = elemCell.prop("scrollWidth") var realScrollWidth = hasChildren ? 0 : (computedFontWidth() + parseFloat(elemCell.css("padding-left")) + parseFloat(elemCell.css("padding-right"))) // 這里比較大小值,為了對于原來非純文本還是采用 layui 原本的方式 return Math.max(originScrollWidth, realScrollWidth) } if(hide){ othis.find(".layui-table-grid-down").remove(); // } else if(elemCell.prop("scrollWidth") > elemCell.outerWidth()){ // 注釋掉原本的代碼 } else if(computedScrollWidth() > elemCell.outerWidth()){ if(elemCell.find("."+ ELEM_GRID_DOWN)[0]) return; othis.append("form.js"); }
描述:【所有瀏覽器】select 的定位,項目中 select 如果在最右邊,右下角,點擊會讓無滾動的頁面出現滾動條。
解決:
// 修改部分定位寫法 var showDown = function(){ // 將樣式復位 dl.css({ top: "", left: "", right: "" }) var top = reElem.offset().top + reElem.outerHeight() + 5 - $win.scrollTop() ,dlHeight = dl.outerHeight(), dlWidth = dl.outerWidth(), winWidth = $(window).width(); index = select[0].selectedIndex; //獲取最新的 selectedIndex // 判斷是否在最右邊的臨界點 if (dlWidth + reElem.offset().left > winWidth) { dl.css({ left: "auto", right: 0 }) } reElem.addClass(CLASS+"ed"); dds.removeClass(HIDE); nearElem = null; //初始選中樣式 dds.eq(index).addClass(THIS).siblings().removeClass(THIS); //上下定位識別 if(top + dlHeight > $win.height() && top >= dlHeight){ reElem.addClass(CLASS + "up"); } else { // 定位重寫定義 // 動畫需要的距離和彈窗的間隔,這是根據 layui 的樣式來的,理論應該計算 var ANIM_UP = 30, SPACE = 5; var reElemBottom = reElem.get(0).getBoundingClientRect().bottom; var dlTop = parseInt(dl.css("top")); var winHeight = $win.height(); if (reElemBottom + dlHeight + ANIM_UP > winHeight ) { var computeValue = dlTop - (reElemBottom + SPACE - (winHeight - dlHeight - ANIM_UP)) dl.css("top", computeValue) } } followScroll(); }tree.js
描述:我使用的是 layui2.4.5 版本,內部的 tree功能已經滿足了,但是因為圖標問題,這里我干脆隱藏。
解決:
// 第一處修改 Tree.prototype.tree = function() { // 大概在 line 48 var li = $(["
持續更新中...
轉載還請注明,本文地址
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/102391.html
摘要:后期階段的定義是網站進入前名并穩定排名的階段。因此,在后期,我們需要對網站進行微調,讓網站的時效性得以維持,以便排名可以持續的穩定。這樣,不用多久百度就會拿掉網站的排名了。 SEO后期階段的定義是:網站進入前3名并穩定排名的階段。在這個階段,我們的工作重點是對網站進行微調,并且尋求微...
閱讀 3684·2021-08-10 09:42
閱讀 584·2019-08-30 15:55
閱讀 880·2019-08-30 15:54
閱讀 3104·2019-08-30 13:45
閱讀 549·2019-08-29 16:23
閱讀 1986·2019-08-29 16:23
閱讀 976·2019-08-29 15:18
閱讀 2256·2019-08-29 12:57