我有一个HTML-Table,其中包含许多不适合屏幕的标题。由于行的数量,我使用了一个粘性标题,它在垂直方式下工作得很好。
不幸的是,它在水平滚动中也保持其粘性。如何更改我的代码以允许水平滚动但保留固定标题以进行垂直滚动?
表格本身很简单:
<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;
}
谢谢!
答案 0 :(得分:2)
非常感谢Nico O,我能在几秒钟内解决这个问题。
我只需要添加另一个Javascript:
<script src="https://rawgithub.com/mkoryak/floatThead/master/dist/jquery.floatThead.min.js">
完全删除了上面的(现已过时的)CSS-Information并用一行替换了Javascript:
$(function() {
$('#calctable').floatThead();
});
作品!!!