這篇文章將為大家詳細講解有關JS怎么實現(xiàn)table表格固定表頭且表頭隨橫向滾動而滾動,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
10年積累的成都網(wǎng)站設計、成都做網(wǎng)站經(jīng)驗,可以快速應對客戶對網(wǎng)站的新想法和需求。提供各種問題對應的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡服務。我雖然不認識你,你也不認識我。但先網(wǎng)站設計制作后付款的網(wǎng)站建設流程,更有欽州免費網(wǎng)站建設讓你可以放心的選擇與我們合作。
JS是JavaScript的簡稱,它是一種直譯式的腳本語言,其解釋器被稱為JavaScript引擎,是瀏覽器的一部分,主要用于web的開發(fā),可以給網(wǎng)站添加各種各樣的動態(tài)效果,讓網(wǎng)頁更加美觀。
先看一張效果圖
思路:
1、頭部用一個table并用一個div包裹著, 表格的具體內(nèi)容用一個table
2、頭部外面的div用positon: relative相對定位
3、獲取整個表格的高度
4、獲取表格的dom(或者包裹著表格的dom)距離頁面頂部的距離 offsetTop
5、滾動的零界點的距離 表格的高度+表格距離頁面頂部的距離 如果滾動超過這個 就讓頭部的top值歸0或原封不動
當然還有很多可以優(yōu)化的地方 我只是展示一個小思路 嘿嘿嘿
題外話 為啥用紅色表頭 因為顯眼哇 哈哈
JS代碼
/** * 最重要的一點是頭和身體是兩個table 然后定位用relative 然后通過滾動來計算 * */ function FixedHead (){ if( !(this instanceof FixedHead) ){ return new FixedHead() }; this.$dom = $('.dataTables_scrollHead'); // 表頭外層dom this.offsetTop = this.$dom.offset().top; // 表頭外層dom距離頂部的高度 this.parents = this.$dom.parents('.dataTables_scroll'); // 表頭外層dom最外面的盒子(包裹著table的盒子) this.outBoxHeight = this.parents.height(); // 表頭外層dom最外面的盒子(包裹著table的盒子)的高度 this.maxHeight = this.offsetTop + this.outBoxHeight; // 滾動的零界點 最多能滾動到哪里 this.scroll(); } FixedHead.prototype = { constructor: FixedHead, scroll: function(){ var that = this; $(window).scroll(function(){ var scrollTop = $(this).scrollTop(); if((scrollTop > that.offsetTop) && (scrollTop < that.maxHeight)){ that.$dom.css('top', (scrollTop - that.offsetTop + 50)+'px') // 這個50是因為我的頭部導航固定在頂部 高是50 所以要加上 }else { var topCss = that.$dom.css('top'); if(topCss === '0px' || topCss === 'auto'){ }else { that.$dom.css('top', '0px') } } }) } }
關于“JS怎么實現(xiàn)table表格固定表頭且表頭隨橫向滾動而滾動”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。