jquery 函数 运行 一次内部事件

jquery function run once inside event

我正在使用 fullpage.js 插件,并且在 onLeave 事件中有一个函数,这里是 jquery 代码

  onLeave: function(index, nextIndex, direction) {
        $('#section-first').find('.a').each(function() {  // i want run once then off / remove this function
          if (index >= 2 && direction == 'up') {
            $(this).removeClass('b');
          }
    });

它没有点击功能,我不知道如何关闭/删除此功能运行一次,仍然使用开/关?但是我在哪里穿?非常感谢:)

最简单的方法可能是 select 只有那些同时具有 class a 和 class b.

的元素
onLeave: function(index, nextIndex, direction) {
    $('#section-first .a.b').each(function() {
        if (index >= 2 && direction == 'up') {
            $(this).removeClass('b');
        }
    });
}

这样,该函数仍将 运行 但不会执行任何操作,除非已将具有 class="a b" 的新元素添加到 #section-first

这不重要。在正常大小的 DOM 中,当 class b 已经被删除时,尝试删除它几乎没有任何惩罚。如果 DOM 非常大,那么,是的,找到一些方法来分离回调。

请注意,无论您最终做什么,最好在 if(){...} 子句中使用 jQuery 编写函数:

onLeave: function(index, nextIndex, direction) {
    if (index >= 2 && direction == 'up') {
        $('#section-first .a.b').removeClass('b');
    }
}