0

我目前在 jquery 的滚动事件中有一个条件运行,这似乎没有多大意义,因为它只会执行一次。我想知道是否有任何方法可以确保条件只会被评估一次。

这是我的代码:

$window.scroll(function() {
  if (s1_doAnimate == true){
    s1_doAnimate = false;
  }
})
4

2 回答 2

3

使用$.one

$(window).one('scroll', function(){
...
});
于 2012-08-31T11:09:37.297 回答
2

满足条件后,您可以取消绑定处理程序;

$window.scroll(function foo /* give the function a name */ () {
  if (s1_doAnimate == true){
    s1_doAnimate = false;

    // Unbind the handler referenced by the name...
    $window.off(foo);
  }
})
于 2012-08-31T11:07:10.080 回答