我有以下功能:
当我调用该函数时,它将div的位置作为参数传递。保存位置时,如果我从该div的位置向上或向下滚动20像素,则满足要求。一旦满足要求,如何阻止滚动侦听器收听我的滚动?
正如您所看到的,我已经尝试过返回并取消绑定。
function checkScroll(position) { //Check if user has scroller
$(document).bind("scroll", function() { //Document on scroll
if (($(window).scrollTop() < (position - 20)) || ($(window).scrollTop() > (position + 20))) {
console.log("Requirements met. Stopping scrolling listener now.");
return; //PREFERABLY, STOP THE SCROLLING EVENT FROM FIRING
$(document).unbind("scroll"); //Attempt #2
$(window).unbind("scroll"); // Attempt #3
}
});
}
有人能引导我走向正确的方向吗? 谢谢。
答案 0 :(得分:0)
以下是我必须做的事情:
删除以下行:
return;
这样它可以到达它的实际解除绑定部分。这是:
$(document).unbind("scroll");
代码如下所示:
function checkScroll(position) { //Check if user has scroller
$(document).bind("scroll", function() { //Document on scroll
if (($(window).scrollTop() < (position - 20)) || ($(window).scrollTop() > (position + 20))) {
console.log("Requirements met. Stopping scrolling listener now.");
$(document).unbind("scroll");
}
});
}