好的 - 我已将其简化为最简单的形式:
<div id="bar>47 px high bar</div>
<div id="header">
<ul>
<li>Nav1</li>
</ul>
</div>
.
//Down
$(function() {
var interval = setInterval(function() {
if ($(window).scrollTop() >= 47) {
$("#header").attr("id","header2");
clearInterval(interval);
}
}, 50);
});
//Up
$(function() {
var interval = setInterval(function() {
if ($(window).scrollTop() < 47) {
$("#header2").attr("id","header");
clearInterval(interval);
}
}, 50);
});
它有效,但仅限于一个方向 - 如果我在页面顶部加载它可以向下滚动。如果我加载到页面的一半,它会向上滚动。在此之后转到另一个方向,没有任何反应。有谁知道为什么?