如何在 Jquery 中检测滚动何时完成



用户停止在我的网站上滚动后,我正在尝试执行一个函数,但我无法找到有关如何检测用户何时停止滚动的解决方案......

这是我正在使用的功能

$(window).on('scroll', function() {
   existingFunction();
   //code to be executed when the scroll has finished
});

是否有类似事件或我可以检查滚动是否完成的内容?

滚动时发生,因此如果您想检查用户是否停止滚动,则需要使用计时器。

如果 1 秒延迟不好,只需更改它,但这是基本思想

var now = null;
function startInterval(){
 var interval = setInterval(function(){
    if(Date.now() > now +1000){
        clearInterval(interval)
        now = null;
        existingFunction();
    }
  },1000)
}
function existingFunction(){
 console.log('finish')
}
$(window).on('scroll', function() {
  if(now === null){
     now = Date.now()
     startInterval()
  }
  else{
  now = Date.now()
  }
});

最新更新