停止滚动后如何获得滚动位置?

时间:2015-08-31 08:59:08

标签: javascript jquery

var scrollVal;
  $(".book-body").scroll(function(){
  scrollVal = $(this).scrollTop();
  console.log(scrollVal);
});

上面是我的代码,这将是console.log滚动时的滚动位置。 但是,该号码会一直显示在控制台上。

在停止滚动后,我该怎么做才能显示一个位置数据?

感谢。

2 个答案:

答案 0 :(得分:1)

如果我理解你的问题是正确的,因为你在滚动函数中写了console.log(),它显然会在滚动时显示数字。如果您在停止滚动时需要获取滚动位置,则可以使用scrollstop()。尝试这样的事情:

$(".book-body").on("scrollstop",function(){
    console.log($(this).scrollTop());
});

不确定这是否会回答你的问题,但也许这一点很接近。

答案 1 :(得分:0)

我一直在我的一个项目中使用它

$(".book-body").scroll(function() {
  clearTimeout($.data(this, 'scrollTimer'));
  $.data(this, 'scrollTimer', setTimeout(function() {
    console.log("Haven't scrolled in 1000ms!");
  }, 1000));
});

它会在滚动停止后触发一个函数1s,但你可以自定义它。