我有一個HTML表格,其中有很多標題不適合在屏幕上。由於行數的多少,我使用了一個粘性標題,它在垂直方向上非常完美。水平滾動粘HTML表格標題
不幸的是它在水平滾動中也保持其粘性。我應該如何更改我的代碼以允許水平滾動,但保持垂直滾動的固定標題?
表本身是直截了當:
<table id="calctable">
<thead class="fixed">
<tr id="table-head">
<th><!--Loads of them--></th><th><!--Continues like forever--></th>
</tr>
</thead>
<tbody>
<tr><td><!--And even more of this kind...--></td></tr>
<tr><td><!--And even more of this kind...--></td></tr>
</tbody>
</table>
<table id="header-fixed"></table>
而且我的JavaScript(的作品,但是... ...只有在垂直滾動):
$(function() {
var tableOffset = $("#calctable").offset().top;
var $header = $("#calctable > thead").clone();
var $fixedHeader = $("#header-fixed").append($header);
$(window).bind("scroll", function() {
var offset = $(this).scrollTop();
if (offset >= tableOffset && $fixedHeader.is(":hidden")) {
$fixedHeader.show();
}
else if (offset < tableOffset) {
$fixedHeader.hide();
}
});
});
我的CSS:
#header-fixed {
position: fixed;
top: 0px; display:none;
background-color:white;
}
謝謝!
前段時間我遇到過這個問題:http://mkoryak.github.io/floatThead/是解決這個問題的好插件。它唯一的問題是它在頭元素容器上強制「overflow:hidden;」。所以如果你想在標題中使用CSS下拉菜單等,你需要將它們設置爲'position:fixed'。但那是一個非常特殊的用例。 –