javascript / jquery - 避免重复评估条件

时间:2012-08-31 10:59:07

标签: javascript events scroll jquery

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

这是我的代码:

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

2 个答案:

答案 0 :(得分:3)

使用$.one

$(window).one('scroll', function(){
...
});

答案 1 :(得分: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);
  }
})