利用js+css+html实现固定table的列头不动
话不多说,跟这小编来一起看下吧
1、CSS
<style type="text/css"> #scroll_head { position: absolute; display: none; } </style>
登录后复制
2、Javascript
<script type="text/javascript"> //该函数在上面一个table数据加载完成后调用 //把表头的宽度设置到会滚动的页头去 var copyWidth = function () { var b = $('#data_tbody').prev().find('tr:last').find('th'); var c = $('#scroll_head').find('tr:last').find('th'); for (var i = 0; i < b.length; i++) { var newWith = b.eq(i).width(); if ($.browser.msie) { newWith += 1; } c.eq(i).width(newWith); } } $(function () { $(window).scroll(function () { if ($('#data_tbody').length > 0) { var thead = $('#data_tbody').prev(); var thOffset = thead.offset(); var scTop = $(window).scrollTop(); //滚动条相对top的位置 if (scTop > thOffset.top) { //滚动条滚到thead及以下的位置,用临时的thead代替显示 $('#scroll_head').css('display', 'block'); $('#scroll_head').offset({ top: scTop, left: thOffset.left }); } else { //滚动条滚到thead上的位置,用table的原始thead显示 $('#scroll_head').css('display', 'none'); } } }); }); </script>
登录后复制
3、Html内容
<div id="data_div"> <table> @*thead内容及样式同scroll_head中的thead*@ @*thead使用深背景色,避免滚动时和tbody内容重叠显示*@ <thead> <tr> @*一级标题*@ <th class="tt1" colspan="2">一级1</th> <th class="tt2" colspan="5">一级2</th> <th class="tt3" colspan="6">一级3</th> </tr> <tr> @*二级标题*@ <th style="width: 23px;">二级11</th> <th style="width: 36px;">二级12</th> <th class="tt" style="width: 40px;">二级21</th> <th class="tt" style="width: 30px;">二级22</th> <th class="tt" style="width: 30px;">二级23</th> <th class="tt" style="width: 30px;">二级23</th> <th class="tt" style="width: 30px;">二级24</th> <th class="tt" style="width: 30px;">二级25</th> <th class="tt" style="width: 30px;">二级31</th> <th class="tt" style="width: 30px;">二级32</th> <th class="tt" style="width: 30px;">二级33</th> <th class="tt" style="width: 30px;">二级33</th> <th class="tt" style="width: 30px;">二级34</th> <th class="tt" style="width: 30px;">二级35</th> <th class="tt" style="width: 30px;">二级36</th> </tr> </thead> <tbody id="data_tbody"> 数据内容,在数据加载完成后调用copyWidth()函数解决兼容性 </tbody> </table> </div> <div id="scroll_head" style="display:block; top: 168px; left: 0px; position: relative;"> <table width="100%"> <thead> @*thead使用深背景色,避免滚动时和tbody内容重叠显示*@ <tr> @*一级标题*@ <th class="tt1" colspan="2">一级1</th> <th class="tt2" colspan="5">一级2</th> <th class="tt3" colspan="6">一级3</th> </tr> <tr> @*二级标题*@ <th style="width: 23px;">二级11</th> <th style="width: 36px;">二级12</th> <th class="tt" style="width: 40px;">二级21</th> <th class="tt" style="width: 30px;">二级22</th> <th class="tt" style="width: 30px;">二级23</th> <th class="tt" style="width: 30px;">二级23</th> <th class="tt" style="width: 30px;">二级24</th> <th class="tt" style="width: 30px;">二级25</th> <th class="tt" style="width: 30px;">二级31</th> <th class="tt" style="width: 30px;">二级32</th> <th class="tt" style="width: 30px;">二级33</th> <th class="tt" style="width: 30px;">二级33</th> <th class="tt" style="width: 30px;">二级34</th> <th class="tt" style="width: 30px;">二级35</th> <th class="tt" style="width: 30px;">二级36</th> </tr> </thead> </table> </div>
登录后复制
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,同时也希望多多支持PHP中文网!
更多利用js+css+html实现固定table的列头不动相关文章请关注PHP中文网!
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章
如何修复KB5055523无法在Windows 11中安装?
3 周前
By DDD
如何修复KB5055518无法在Windows 10中安装?
3 周前
By DDD
<🎜>:死铁路 - 如何驯服狼
1 个月前
By DDD
R.E.P.O.的每个敌人和怪物的力量水平
4 周前
By 尊渡假赌尊渡假赌尊渡假赌
<🎜>:种植花园 - 完整的突变指南
2 周前
By DDD

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)