国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

JS實現table表格固定表頭且表頭隨橫向滾動而滾動

2024-05-06 15:46:19
字體:
來源:轉載
供稿:網友

JS的開發過程中,如果有大量的數據,需要進行比較和查看,我們一般需要固定頭并啟動一些列,那么錯新技術頻道小編就一起來了解JS實現table表格固定表頭且表頭隨橫向滾動而滾動的介紹吧!

先看一張效果圖

這里寫圖片描述

思路:

1、頭部用一個table并用一個div包裹著, 表格的具體內容用一個table

2、頭部外面的div用positon: relative相對定位

3、獲取整個表格的高度

4、獲取表格的dom(或者包裹著表格的dom)距離頁面頂部的距離 offsetTop

5、滾動的零界點的距離 表格的高度+表格距離頁面頂部的距離 如果滾動超過這個 就讓頭部的top值歸0或原封不動

這里寫圖片描述

當然還有很多可以優化的地方 我只是展示一個小思路 嘿嘿嘿

題外話 為啥用紅色表頭 因為顯眼哇 哈哈

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實現table表格固定表頭且表頭隨橫向滾動而滾動,大家都了解了嗎?希望對想要了解這方面信息的有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 利辛县| 准格尔旗| 石渠县| 隆化县| 尚志市| 绥化市| 台北市| 潼南县| 湖南省| 福鼎市| 工布江达县| 南乐县| 西畴县| 河西区| 浦县| 巩义市| 嘉兴市| 贞丰县| 武定县| 枞阳县| 宁国市| 腾冲县| 张掖市| 宜都市| 鹰潭市| 山阳县| 衡东县| 东丰县| 玉门市| 邵武市| 乳山市| 田林县| 凤山县| 通城县| 锦州市| 杂多县| 曲周县| 贺州市| 金堂县| 天等县| 永登县|