13

我试图在 iPad/iPhone 上滚动网站时获取 scrollTop() 值。

$(window).scroll(function(){
    console.log($(window).scrollTop());
});

我将此代码用于普通桌面浏览器。在 Mac 上的 Safari 上,控制台在滚动时显示每个像素。但是在 iPad 上,我只有在滚动停止时才能得到值。

即使在 iPad 上滚动时,如何获取每个 scrollTop 值?

4

4 回答 4

1

Have you tried the following?

$(document).on( 'scroll', function(){
  var currentPosition = $(window).scrollTop();
  console.log(currentPosition);
});
于 2017-09-20T04:41:08.293 回答
1

这个限制在iOS 8中改变了

当惯性/反弹效果运行时,这会在 touchend 之后继续记录 $(window).scrollTop() :

$(document).on( 'scroll', function(){
console.log($(window).scrollTop());});

在 iPad 9.2、iPhone 9.3.4 上测试

于 2016-09-10T17:28:16.337 回答
0

不要隐藏溢出或 scrollTop 在 safari 上不起作用。只需溢出:自动;

html,body {
  overflow-x: auto;
  overflow-y: auto;
}
于 2019-10-22T09:09:28.860 回答
-3

尝试使用window.pageYOffsetwindow.pageXOffset

于 2014-02-13T18:40:05.330 回答