javascript / jquery - 获取滚动位置的回调

时间:2012-08-30 20:35:33

标签: javascript jquery callback scroll

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

2 个答案:

答案 0 :(得分: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
  }
});

答案 1 :(得分:0)

这是要监听的浏览器DOM级别事件。我建议使用jQuery,因为它将使用相同的本机事件,并且可以解决有时会出现的粗略平台/跨浏览器问题。

window.addEventListener ("scroll", function(){console.log('scrolling');});