0

根据页面的滚动位置,我有一些条件事件。一切正常,除了我只需要触发一次的最后一个事件。这是我的代码:

function curScroll() {      
    var scrollX = $(window).scrollTop();
    var pointA = $('#pointA').offset().top;
    var pointB = $('#pointB').offset().top;

    if (scrollX < pointA) {
        $('#something').removeClass('middle').addClass('top');  
    } else if ((scrollX >= pointA) && (scrollX < pointB)) {
        $('#something').addClass('middle').removeClass('top');
    } else if (scrollX >= pointB) {
        $('#something').removeClass('middle top');
        // DO SOMETHING JUST ONCE, NOT EVERY TIME USER SCROLLS TO THE POINT
    }
}

我认为 one() 函数是方法。问题是所需的“事件”参数。

那么我应该附加每次用户滚动到pointB时触发的自定义触发器()吗?还有其他方法吗?

谢谢你的想法!

4

1 回答 1

1

添加一个标志以指示何时完成如何?

// DO SOMETHING JUST ONCE, NOT EVERY TIME USER SCROLL TO THE POINT
if (!('doneIt' in curScroll)) {
  curScroll.doneIt = true;
  // ...do stuff...
}
于 2013-08-13T20:05:46.973 回答