欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JS實現(xiàn)table表格固定表頭且表頭隨橫向滾動而滾動

 更新時間:2017年10月26日 09:10:09   投稿:mrr  
這篇文章主要介紹了JS實現(xiàn)table表格固定表頭且表頭可以隨橫向滾動而滾動,需要的朋友可以參考下

先看一張效果圖

這里寫圖片描述

思路:

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是因為我的頭部導(dǎo)航固定在頂部 高是50 所以要加上
            }else {
              var topCss = that.$dom.css('top');
              if(topCss === '0px' || topCss === 'auto'){
              }else {
                that.$dom.css('top', '0px')
              }
            }
          })
        }
      }

總結(jié)

以上所述是小編給大家介紹的JS實現(xiàn)table表格固定表頭且表頭隨橫向滾動而滾動,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

最新評論