我有3张桌子,其中一张我希望在滚动超过特定距离后修复
var distance = $("#thead").offset().top;
$(window).scroll(function () {
var wdistance = $(window).scrollTop();
if (wdistance > distance) {
};
})
demo jsfiddle
我想说当“if”是正确的时候,当滚动页面时,带有“thead”id的div的位置会固定在其他表的顶部。在id为“first”的div完成之后,<div id="thead"></div>
将回到之前的位置。
答案 0 :(得分:1)
您可以创建一个.fixed
类,并在#thead
元素中添加/删除它,如下所示:
<强> CSS 强>
* { padding: 0; margin: 0; } /* Tiny reset for removing paddings and margins */
.fixed {
position: fixed;
top: 0;
left: 0;
width: 100%;
}
请注意,您必须从<body>
元素中删除填充/边距以调整每列的宽度(#thead
定位时)。
或者也可以为定位的#thead
元素使用相同的填充/边距。
var $table = $("#thead"),
$window = $(window),
distance = $table.offset().top;
$window.scroll(function () {
var wdistance = $window.scrollTop();
if (wdistance > distance) {
$table.addClass('fixed');
} else {
$table.removeClass('fixed');
}
});
<强> WORKING DEMO 强>