滚动时只触发一次

问题描述 投票:0回答:1

我使用以下代码在向上或向下滚动时执行操作。

var lastScrollTop = 0;
$(window).scroll(function(event){
    var st = $(this).scrollTop();
    if (st > lastScrollTop){
       // downscroll code
    } else {
      // upscroll code
      console.log("up");
    }
    lastScrollTop = st;
});

但是,我只想触发一次。知道为什么以下版本不起作用?

谢谢 !

var lastScrollTop = 0;
$(window).one('scroll',function(){
    var st = $(this).scrollTop();
    if (st > lastScrollTop){
       // downscroll code
    } else {
      // upscroll code
      console.log("up");
    }
    lastScrollTop = st;
});
javascript jquery scroll
1个回答
0
投票

如果你想检查你的处理程序是否已被调用 - 你应该定义一个标志(在这种情况下是qazxsw poi):

hasCalled
© www.soinside.com 2019 - 2024. All rights reserved.