【问题标题】:Get scrollTop() while scrolling on iPad/iPhone在 iPad/iPhone 上滚动时获取 scrollTop()
【发布时间】:2013-05-11 17:07:54
【问题描述】:

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

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

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

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

【问题讨论】:

标签: javascript jquery ios web-applications


【解决方案1】:

尝试使用window.pageYOffsetwindow.pageXOffset

【讨论】:

    【解决方案2】:

    iOS 8 更改了此限制

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

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

    在 iPad 9.2、iPhone 9.3.4 上测试

    【讨论】:

      【解决方案3】:

      您是否尝试过以下方法?

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

      【讨论】:

        【解决方案4】:

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

        html,body {
          overflow-x: auto;
          overflow-y: auto;
        }
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-05-06
          • 1970-01-01
          • 2012-05-10
          • 1970-01-01
          • 1970-01-01
          • 2011-02-27
          相关资源
          最近更新 更多