【发布时间】:2013-05-13 01:36:19
【问题描述】:
我在使用 jQuery 制作粘性标题时遇到了一个特定问题。我尝试了网络上常用的 sn-ps,但我发现到处都是同样的错误。
在特定的文档高度(可滚动直到比调用粘性效果多一点),粘性标题在position: fixed 和position: static 之间跳转。
HTML:
<header>
<div id="not-sticky"></div>
<div id="sticky"></div>
</header>
<div id="content"> ...
jQuery:
var $sticky = $("#sticky");
var offset = $sticky.offset();
var stickyTop = offset.top;
var windowTop = $(window).scrollTop();
$(window).scroll(function() {
windowTop = $(window).scrollTop();
if (windowTop > stickyTop) {
$sticky.css({
position: 'fixed',
top: 0
});
}
else {
$sticky.css({
position: '',
top: ''
});
}
});
CSS:
header {
width: 100%;
}
#not-sticky {
padding: 50px 0;
width: 100%;
}
#sticky {
padding: 24px 0;
position: relative;
width: 100%;
z-index: 25;
}
我还在#not-sticky 上尝试了一个与#sticky 相同高度的margin-bottom,以保持恒定的文档高度,但出现了同样的跳跃粘性效果。
有办法解决这个问题吗?
【问题讨论】:
标签: javascript jquery css sticky