如果满足其要求,如何停止。("滚动")?

时间:2014-06-05 02:33:42

标签: javascript jquery

我有以下功能:

当我调用该函数时,它将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
           }
        });
      }

有人能引导我走向正确的方向吗? 谢谢。

1 个答案:

答案 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");
       }
    });
  }