Nicht viel zu sagen, werfen wir einen Blick mit diesem Editor
1. CSS
<style type="text/css"> #scroll_head { position: absolute; display: none; } </style>2 >
<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-Inhalt
<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>
Das Obige ist der Inhalt von Ich hoffe, dass der Inhalt dieses Artikels jedem beim Lernen oder bei der Arbeit helfen kann. Wenn Sie Fragen haben, können Sie eine Nachricht zur Kommunikation hinterlassen.
Weitere verwandte Artikel, die js + css + html verwenden, um feste Tabellenspaltenüberschriften zu erreichen, finden Sie auf der chinesischen PHP-Website!