【问题标题】:Make mobile page always load at the top使移动页面始终加载在顶部
【发布时间】:2015-04-15 20:32:27
【问题描述】:

我试图让它工作但没有成功。我只想让我的移动页面浏览量加载在顶部。我尝试了以下方法。

// Method 1:
$('body').scrollTop(0);

// Method 2:
document.body.scrollTop = 0;

// Method 3:
$(window).on('beforeunload', function(){
  $(window).scrollTop(0);
});

我先尝试了here,但没有成功。

我只想在点击移动设备中的链接时始终从页面顶部开始。我不知道为什么这些解决方案都不起作用。

【问题讨论】:

    标签: javascript jquery scrolltop


    【解决方案1】:

    你也可以使用 vanilla JS:

    document.body.scrollTop = document.documentElement.scrollTop = 0;
    

    或使用 JQuery

    $(document).ready(function() {
        $(this).scrollTop(0);
    });
    

    也试试

    $('html,body').scrollTop(0);
    

    也检查这个演示,可能会有所帮助 https://jsfiddle.net/a_incarnati/v575uvyb/2/

    【讨论】:

    • 也试过了。当我刷新时它会转到顶部,但是当我单击指向新页面的链接时它不会。
    • 哦,所以你的问题是当你点击一个链接并打开一个新标签/页面时它不在顶部?
    • 是的,这是我的问题。
    • 我为你做了另一个演示。检查我更新的答案。
    • 它确实奏效了!谢谢你。 Adobe CQ 是问题所在。他们的移动模拟器让我觉得它不起作用。谢谢。
    【解决方案2】:

    您应该在$(document).ready(); 调用中包含$(this).scrollTop(0);,like so:

    $(document).ready(function() {
        $(this).scrollTop(0);
    });
    

    在您的代码中,您调用的是$(this).scrollTop(0); before the page unloads,而不是after the page and DOM have been reloaded。

    【讨论】:

    • 会发生什么?您确定正在调用该函数吗?
    • 我确定,因为警报已加载。当我向下滚动页面的一半然后单击以转到新页面时,它保持在相同的垂直位置而不是从顶部开始。
    • 您是通过 AJAX 将新页面内容加载到同一页面中,还是真正加载新页面?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-02-14
    • 1970-01-01
    • 2020-07-11
    • 1970-01-01
    • 2012-04-29
    • 1970-01-01
    • 2017-03-21
    相关资源
    最近更新 更多