如何让table 表头随着滚动条滚动? 达到覆盖效果。 JS 、JQ大神求帮忙。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何让table 表头随着滚动条滚动? 达到覆盖效果。 JS 、JQ大神求帮忙。相关的知识,希望对你有一定的参考价值。
如何让table 表头随着滚动条滚动?就行Excel的冻结表头那样。 求代码。 需求如图。
蓝色的那块是表头。
滚动条往下拉一格。表头继续覆盖了第二格。(我的表格高是40px.意思是说每次滚动条移动40px)
意思就是说要让表头跟随滚动条的移动并覆盖表格。
和Excel里面固定的表头 一样
谢谢
追答你竟然选了上面的答案……真无语了……好吧好吧~
参考技术A 将头的CSS设置成fixed,并固定位置,z-index设置大些追问我试过了。
position:fixed; top:0;
但是表头的顶部还有东西....
用不了这个。 有JS或者JQ的代码吗?
表头的顶部还有东西
那就是整个页面滚动了啊. 如果要做这个效果. 你要让table内的tr滚动, 在表头做遮盖
让table表头固定,tr超出指定条数后无缝上下循环滚动jquery效果代码
使用的时候引用一下jquery.js
具体代码如下:
<div class="tablebox clearfix"> <table id="tableId" class="cui-table tbg" border="0" cellspacing="0" cellpadding="0" style="word-wrap: break-word; word-break: break-all;"> <thead> <tr> <th style="width: 60px;">交易分类</th> <th>项目名称</th> <th style="width: 60px;">开标时间</th> <th style="width: 150px;">评标室</th> </tr> </thead> <tbody> <tr> <td>政府采购</td> <td class="txt-ell">建设工程项目建设工程项目建设工程项目建设工程项目建设工程项目建设工程项目建设工程项目</td> <td class="tac">08:30</td> <td class="tac">第三开标室(重庆市)</td> </tr> <tr> <td>政府采购</td> <td class="txt-ell">建设工程项目建设工程项目建设工程项目建设工程项目建设工程项目建设工程项目建设工程项目</td> <td class="tac">08:40</td> <td class="tac">第二开标室</td> </tr> <tr> <td>工程建设</td> <td class="txt-ell">建设工程项目建设工程项目建设工程项目建设工程项目建设工程项目建设工程项目建设工程项目</td> <td class="tac">09:00</td> <td class="tac">第一开标室(重庆)</td> </tr> <tr> <td>政府采购</td> <td class="txt-ell">建设工程项目建设工程项目建设工程项目建设工程项目建设工程项目建设工程项目建设工程项目</td> <td class="tac">09:00</td> <td class="tac">第一开标室(重庆)</td> </tr> <tr> <td>政府采购</td> <td class="txt-ell">建设工程项目建设工程项目建设工程项目建设工程项目建设工程项目建设工程项目建设工程项目(二次)</td> <td class="tac">09:00</td> <td class="tac">第二开标室(重庆)</td> </tr> <tr> <td>政府采购</td> <td class="txt-ell">建设工程项目建设工程项目建设工程项目建设工程项目建设工程项目建设工程项目建设工程项目</td> <td class="tac">09:00</td> <td class="tac">第二开标室(重庆)</td> </tr> <tr> <td>政府采购</td> <td class="txt-ell">建设工程项目建设工程项目建设工程项目建设工程项目建设工程项目建设工程项目建设工程项目</td> <td class="tac">09:30</td> <td class="tac">第三开标室(重庆)</td> </tr> <tr> <td>政府采购</td> <td class="txt-ell">建设工程项目建设工程项目建设工程项目建设工程项目建设工程项目建设工程项目建设工程项目</td> <td class="tac">09:30</td> <td class="tac">第一开标室(重庆)</td> </tr> <tr> <td>政府采购</td> <td class="txt-ell">建设工程项目建设工程项目建设工程项目建设工程项目建设工程项目建设工程项目建设工程项目</td> <td class="tac">10:00</td> <td class="tac">第二开标室(重庆)</td> </tr> <tr> <td>政府采购</td> <td class="txt-ell">建设工程项目建设工程项目建设工程项目建设工程项目建设工程项目建设工程项目建设工程项目(二次)</td> <td class="tac">10:30</td> <td class="tac">第三开标室(重庆)</td> </tr> </tbody> </table> <script> // 参数1 tableID,参数2 div高度,参数3 速度,参数4 tbody中tr几条以上滚动 tableScroll(‘tableId‘, 400, 30, 6) var MyMarhq; function tableScroll(tableid, hei, speed, len) { clearTimeout(MyMarhq); $(‘#‘ + tableid).parent().find(‘.tableid_‘).remove() $(‘#‘ + tableid).parent().prepend( ‘<table class="tableid_ cui-table tbg"><thead>‘ + $(‘#‘ + tableid + ‘ thead‘).html() + ‘</thead></table>‘ ).css({ ‘position‘: ‘relative‘, ‘overflow‘: ‘hidden‘, ‘height‘: hei + ‘px‘ }) $(".tableid_").find(‘th‘).each(function(i) { $(this).css(‘width‘, $(‘#‘ + tableid).find(‘th:eq(‘ + i + ‘)‘).width()); }); $(".tableid_").css({ ‘position‘: ‘absolute‘, ‘top‘: 0, ‘left‘: 0, ‘z-index‘: 9 }) $(‘#‘ + tableid).css({ ‘position‘: ‘absolute‘, ‘top‘: 0, ‘left‘: 0, ‘z-index‘: 1 }) if ($(‘#‘ + tableid).find(‘tbody tr‘).length > len) { $(‘#‘ + tableid).find(‘tbody‘).html($(‘#‘ + tableid).find(‘tbody‘).html() + $(‘#‘ + tableid).find(‘tbody‘).html()); $(".tableid_").css(‘top‘, 0); $(‘#‘ + tableid).css(‘top‘, 0); var tblTop = 0; var outerHeight = $(‘#‘ + tableid).find(‘tbody‘).find("tr").outerHeight(); function Marqueehq() { if (tblTop <= -outerHeight * $(‘#‘ + tableid).find(‘tbody‘).find("tr").length) { tblTop = 0; } else { tblTop -= 1; } $(‘#‘ + tableid).css(‘margin-top‘, tblTop + ‘px‘); clearTimeout(MyMarhq); MyMarhq = setTimeout(function() { Marqueehq() }, speed); } MyMarhq = setTimeout(Marqueehq, speed); $(‘#‘ + tableid).find(‘tbody‘).hover(function() { clearTimeout(MyMarhq); }, function() { clearTimeout(MyMarhq); if ($(‘#‘ + tableid).find(‘tbody tr‘).length > len) { MyMarhq = setTimeout(Marqueehq, speed); } }) } } </script> </div>
以上是关于如何让table 表头随着滚动条滚动? 达到覆盖效果。 JS 、JQ大神求帮忙。的主要内容,如果未能解决你的问题,请参考以下文章
HTML或JS代码如何实现让一个table的表头不动,body可以自由上下左右滚动,同时保持表头与body的宽度一致?
html里table表头随滚动条移动,表头只有一行,有横竖滚动条,而且横滚动条拖动的时候,表头也要随之移动
让table表头固定,tr超出指定条数后无缝上下循环滚动jquery效果代码