当用户从顶部滚动超过 10px 时,我想劫持他们的滚动并将其向下滚动到某个 div。这种情况发生一次后,我想释放滚动条,以便可以自由滚动到任何地方。我该怎么做?
我当前的代码可以工作,但它不会让用户在初始滚动后自由滚动:
$(window).scroll(function() {
//if I scroll more than 1000px...
if($(window).scrollTop() > 10){
$('html,body').animate({scrollTop : $('#main').offset().top}, 900, function(){
h = 2;
});
}
});
最佳答案
尝试:
var scrolled = false;
$(window).scroll(function() {
//if I scroll more than 1000px...
if($(window).scrollTop() > 10 && scrolled == false){
$('html,body').animate({scrollTop : $('#main').offset().top}, 900, function(){
h = 2;
});
scrolled = true;
} else if($(window).scrollTop() == 0) {
scrolled = false;
}
});
关于javascript - 如果scrollTop大于值,则仅执行一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33620031/