快速滚动时获取scrollTop

时间:2017-01-31 10:08:02

标签: javascript jquery

当用户滚动到特定区域时,我正在尝试执行特定任务。

我遇到的问题是,当用户以正常速度滚动时,我可以捕获当前的scrollTop位置,并触发所需的功能。

但是,如果用户滚动得更快,则当滚动速度减慢回到正常速度时,似乎只会捕获scrollTop - 这意味着用户可以完全滚动到我想要触发该功能的区域。

我需要某种方式在每个滚动速度下使用每个scrollTop位置进行更新。

我只是在使用:

$('body').scroll(function(e) 
{
   intScrollPoint = $(body).scrollTop();
});

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

节流可以解决您的问题,

window.addEventListener('scroll', throttle(callback, 1));

function throttle(fn, wait) {
  var time = Date.now();
  return function() {
    if ((time + wait - Date.now()) < 0) {
      fn();
      time = Date.now();
    }
  }
}

function callback() {
  // do something,
}

有关详细信息,请查看此link