0

我正在尝试使用 javascript 获取浏览器滚动条的垂直位置。我目前正在使用 jquery scroll() 函数,但我觉得回调有点慢,我想知道当用户在浏览器中滚动时是否有更快、更原生的方式来使用回调。有人知道吗?

4

2 回答 2

0

这是要监听的浏览器 DOM 级别事件。我推荐使用 jQuery,因为它会使用相同的原生事件,并且可以消除有时可能出现的粗劣平台/跨浏览器问题。

window.addEventListener ("scroll", function(){console.log('scrolling');});
于 2012-08-30T21:15:18.520 回答
0

如果您觉得回调运行时间过长,您可以限制它。只需跟踪上次调用它的时间:http: //jsfiddle.net/fjjAw/

var lastCalled = 0;
$(window).on("scroll", function() {
  var now = Date.now();
  if(now - lastCalled > 1000) {  // only proceed if it has been one second since last call
    lastCalled = now;
    // do things
  }
});
于 2012-08-30T20:53:35.560 回答