没有jQuery mobile的scrollstop事件

时间:2015-07-15 10:54:02

标签: javascript jquery events jquery-mobile scroll

当用户停止滚动时,我正在尝试调用函数。但是我不想在jQuery mobile中使用“scrollstop”,因为我不需要在其他地方使用jQuery mobile。在普通的jQuery或JS中是否存在等效事件?

1 个答案:

答案 0 :(得分:0)

我找到的唯一答案仍然是使用jquery,并且出于某些原因,我的项目没有工作。

所以这是我的版本,不需要jQuery,享受!

注意:这是一个片段,但由于它已嵌入,它会延迟事件很多



var lastTimeScrolled = null;
var theElementYouCareAbout = document;
var intervalMilliSeconds = 500; // interval goes here
theElementYouCareAbout.onscroll = function(){
  if (performance.now() - lastTimeScrolled > intervalMilliSeconds){
    var intervalScroll = setInterval(function(){
      if (performance.now() - lastTimeScrolled > intervalMilliSeconds){
        doSomething();
        clearInterval(intervalScroll);
      }
    }.bind(intervalScroll).bind(intervalMilliSeconds), 100);
  }
  lastTimeScrolled = performance.now();
}.bind(intervalMilliSeconds);

function doSomething (){
  alert('You just stopped scrolling :)');
}

<div style="height: 200vh">
  Scroll me!
</div>
&#13;
&#13;
&#13;