我使用以下JQUERY在滚动时隐藏元素,然后滚动回页面顶部以显示新元素:
$(window).bind('scroll', function() {
if ($(window).scrollTop() > 200) {
}
else {
$("#hero-area").slideUp(1300);
$(".timeline").show(2000);
$("body").animate({ scrollTop: 0 }, "slow");
return false;
}
});
问题是,它滚动回到页面顶部就好了,但在执行后它拒绝让我继续滚动页面。我试过回复假,但没有运气。也许是因为我使用IF语句?
答案 0 :(得分:1)
- Update-- 你的问题的一种方法,加载一次就是设置一个全局变量并在你运行它之前检查它......
var canRun = true; //declare a global variable
$(function () { //on page load
$(window).bind('scroll', function () {
if ($(window).scrollTop() > 200) {
if (canRun) {
//Do your animation
//set the global to false
canRun = !canRun;
}
}
});
});
如果$(window).scrollTop() = 0
它将转到else
块,然后再尝试向上滚动。只是looooooooping。
如果您希望在传递200之后使用"#hero-area"
元素,那么您想要删除else
块,请将该代码放入if
内,不要担心其余部分。
希望有所帮助。如果这没有回答你的问题,请告诉我。