【问题标题】:Disable jumping to top after page load页面加载后禁用跳转到顶部
【发布时间】:2013-09-15 09:52:24
【问题描述】:

我试图在加载后向下滚动:

$(document).on('pageshow', function(){
        setInterval(function() {
            $.mobile.silentScroll($("#commentTop").offset().top);
        },1000);
    }
});

但是我的页面有很多图片,当图片加载完成后,jqm 会自动跳转到页面顶部。我该如何解决?

【问题讨论】:

  • 我猜你已经添加了代码来跳转到 pageshow 的页面顶部。这就是为什么在 pageshow 事件上加载所有图像后,由于代码“$.mobile.silentScroll”,页面往往会滚动到顶部
  • 在代码中没有找到任何与滚动/移动相关的内容。
  • 我不确定您的要求,您是否要在页面完全加载后使页面向下滚动到一定程度?
  • 你不能阻止JQM在加载完所有内容后跳转到页面顶部,这就是为什么$.mobile.silentScroll()是专门为JQM制作的。您上面的代码应该可以工作。
  • @AshisKumar 是的。到一个div的顶部。 id:#commentTop

标签: javascript jquery jquery-mobile


【解决方案1】:

我最后做的是使用服务器端脚本检测 PC/移动设备,然后将这个脚本发送给 pc:

window.onload = function(){
  $('html, body').animate({
    scrollTop: $("#commentTop").offset().top
  });
}

【讨论】:

    【解决方案2】:

    我想你可以尝试使用pageload 事件而不是pageshowpageshow 将在转换完成后立即触发,而pageload 将在页面完全加载后触发。

    其次,使用它我们不需要设置一段时间后运行代码的间隔。所以你可以使用下面的代码。

    $(document).on('pageload', function(){
        $.mobile.silentScroll($("#commentTop").offset().top);
    });
    

    希望对你有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-03-31
      • 1970-01-01
      • 2015-10-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多