【问题标题】:jQuery - After refreshing the page doesn't workjQuery - 刷新页面后不起作用
【发布时间】:2016-08-15 09:59:59
【问题描述】:

目前,我正在学习如何用 javascript 和 jquery 编写代码。但是,我编写了一个简单的 jquery 代码,当您进入页面/网站时,它会自动滚动到特定的 div。当我加载页面/网站并自动滚动到我想要的 div 时,脚本工作正常。当我刷新浏览器时,问题就来了。刷新页面后,脚本不想滚动到我在代码中指向的 div。如果有人可以帮助我,我将非常感激并提前感谢您。

在 Chrome 和 Opera 上,即使在刷新后脚本也能正常工作。但是,对于 Firefox、IE 和 Edge,我不能这么说。

$(document).ready(function() {
    $(".Left_Container").animate({
       scrollTop: $(".Home_Left").offset().top
    }, 0);
});

PS:我使用的是“Left_Container”而不是“HTML,body”,因为我只想在那个特定的 div 中滚动。

最好的问候,

乔治·S.

【问题讨论】:

  • 你能像jsbin这样的东西创建吗?我不完全理解你的问题。 $(document).ready() 在每次刷新页面时运行。
  • @hvchris 抱歉,我错过了一个重要部分。该脚本适用于 Chrome 和 Opera。但是,在 Firefox、IE 和 Edge 上,按下刷新按钮后脚本会停止工作。

标签: javascript jquery cross-browser compatibility


【解决方案1】:

某些浏览器会在页面重新加载后保存您的滚动位置,因此这不是您的代码的问题。

您可以做的只是强制浏览器立即滚动到顶部,然后像这样为您的 div 设置动画:

$(document).ready(function() {
    $(".Left_Container").scrollTop(0); // go to the top instantly (no animation)
    $(".Left_Container").animate({ // then animate down
       scrollTop: $(".Home_Left").offset().top
    }, 0);
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-11-24
    • 1970-01-01
    • 2014-08-23
    • 2020-02-15
    • 1970-01-01
    • 2019-02-24
    • 2013-11-07
    相关资源
    最近更新 更多