二維碼
微世推網(wǎng)

掃一掃關(guān)注

當(dāng)前位置: 首頁 » 快聞頭條 » 本地資訊 » 正文

JS組件系列——Bootstrap Table 凍結(jié)列功能IE瀏覽器兼容性問題解決方案

放大字體  縮小字體 發(fā)布日期:2018-07-13 17:37:27    作者:微世推-劉佳    瀏覽次數(shù):139
導(dǎo)讀

前言:最近項目里面需要用到表格的凍結(jié)列功能,所謂“凍結(jié)列”,就是某些情況下表格的列比較多,需要固定前面的幾列,后面的列滾動。遺憾的是,bootstrap table里自帶的fixed column功能有一點bug,于是和同事討論該

前言:最近項目里面需要用到表格的凍結(jié)列功能,所謂“凍結(jié)列”,就是某些情況下表格的列比較多,需要固定前面的幾列,后面的列滾動。遺憾的是,bootstrap table里自帶的fixed column功能有一點bug,于是和同事討論該如何解決,于是就有了這篇文章。

一、起因回顧

最近項目里面有一個表格需求,該表格列是動態(tài)產(chǎn)生的,而且列的數(shù)量操作一定值以后就會出現(xiàn)橫向滾動條,滾動的時候需要前面幾列固定。也就是所謂的excel的凍結(jié)列功能。該如何實現(xiàn)呢?不用多說,當(dāng)然是查文檔,于是找到了這篇issues.wenzhixin/bootstrap-table/index.html#extensions/fixed-columns.html。谷歌瀏覽器效果如下:

第一列固定

貌似問題完美解決!可是,事與愿違,很遺憾,上面說了,這是谷歌瀏覽器的效果,沒有問題。我們來看看IE里面

IE11效果:

IE10效果:

很顯然,不管是IE內(nèi)核版本多少,凍結(jié)的列里面的內(nèi)容都無法顯示。怎么辦?這可為難死寶寶了!

二、解決方案

還好有萬能的開源,查看該頁面源代碼發(fā)現(xiàn)可以找到凍結(jié)列這個js的源碼。

點擊進入可以看到這個js的所有源碼,找到源碼就好辦了,我們試著改改源碼看是否能解決這個bug。

我們在bootstrap-table下面的extensions文件夾下面新增加一個文件夾fixed-column

下面就貼出我們改好的源碼:

bootstrap-table-fixed-columns.js修改后的源碼 bootstrap-table-fixed-columns.css修改后

主要修改的地方:

1)源碼里面將thead和tbody分別封裝成了一個單獨的表格,修改后將thead和tbody放到了一個table里面;

2)依次遍歷凍結(jié)的列放入到固定的tbody里面;

其實也就改了那么幾個地方,就能完美解決IE的bug。我們先來看看效果:

IE11

IE10

IE8

 

我們再來看看如何使用。

1、引用js和對應(yīng)的css

 script src="~/Content/bootstrap-table/extensions/fixed-column/js/bootstrap-table-fixed-columns.js" /script 
 link href="~/Content/bootstrap-table/extensions/fixed-column/css/bootstrap-table-fixed-columns.css" rel="stylesheet" / 

2、js調(diào)用如下

加兩個參數(shù)fixedColumns和fixedNumber即可,什么意思不用過多解釋,是否凍結(jié)列、凍結(jié)列的列數(shù)。還有一點需要說明的是,這里調(diào)用的時候不能指定它的height,如果指定height,表格的凍結(jié)顯示會有問題。

以上就是表格凍結(jié)關(guān)于IE兼容性問題的解決方案,如果你也正好用到bootstrap table 的列凍結(jié),呵呵,福利來了??傮w上來說,就是在原有擴展js的基礎(chǔ)上面做了一些小小的修改。能用,如果大伙覺得有什么問題,歡迎指出。

 

 
(文/微世推-劉佳)
打賞
免責(zé)聲明
本文為微世推-劉佳原創(chuàng)作品?作者: 微世推-劉佳。歡迎轉(zhuǎn)載,轉(zhuǎn)載請注明原文出處:http://xtnz.com.cn/news/show-110642.html 。本文僅代表作者個人觀點,本站未對其內(nèi)容進行核實,請讀者僅做參考,如若文中涉及有違公德、觸犯法律的內(nèi)容,一經(jīng)發(fā)現(xiàn),立即刪除,作者需自行承擔(dān)相應(yīng)責(zé)任。涉及到版權(quán)或其他問題,請及時聯(lián)系我們郵件:weilaitui@qq.com。
 

Copyright?2015-2023 粵公網(wǎng)安備 44030702000869號

粵ICP備16078936號

微信

關(guān)注
微信

微信二維碼

WAP二維碼

客服

聯(lián)系
客服

聯(lián)系客服:

24在線QQ: 770665880

客服電話: 020-82301567

E_mail郵箱: weilaitui@qq.com

微信公眾號: weishitui

韓瑞 小英 張澤

工作時間:

周一至周五: 08:00 - 24:00

反饋

用戶
反饋