600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > JS实现table表格固定表头且表头随横向滚动而滚动详解

JS实现table表格固定表头且表头随横向滚动而滚动详解

时间:2023-07-25 19:06:46

相关推荐

JS实现table表格固定表头且表头随横向滚动而滚动详解

web前端|js教程

javascript,table,表头

web前端-js教程

本文主要介绍了JS实现table表格固定表头且表头可以随横向滚动而滚动,需要的朋友可以参考下,希望能帮助到大家。

搭建网站php源码,vscode打开速度,ubuntu自动挂载分区,tomcat补丁,as与sqlite,8g服务器mysql配置优化,jquery select 联动插件,独立站前端框架,python 爬虫 人人,php板子,seo培训周末班,网站首页浮动窗口代码,网页通用css,网页系统模板,最好的页面放大插件,java课程管理系统,易语言调用时钟子程序lzw

先看一张效果图

暖通门户dedecms源码,ubuntu显卡版本,tomcat运行怎么看,爬虫京东销量,php连接数据库原理,十堰服装seo推广哪里好lzw

旅游asp源码,vscode项目管理视频,ubuntu的外壳,tomcat支持最高并发,sqlite3占位符参数,企业不正当使用网络爬虫的案例,php家教网 源码,云南seo外包如何优化,手机网站源码,房产网模板lzw

思路:

1、头部用一个table并用一个p包裹着, 表格的具体内容用一个table

2、头部外面的p用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( op, (scrollTop - that.offsetTop + 50)+px) // 这个50是因为我的头部导航固定在顶部 高是50 所以要加上 }else { var topCss = that.$dom.css( op); if(topCss === px || topCss === auto){ }else {that.$dom.css( op, px) } }}) }}

jquery如何操作table表格各种方式实例汇总

html5中实现table表格中的斜线表头效果的5种做法

html中table表格的内容水平和垂直居中显示实例代码

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。