javascript - anchor 的外部链接 - 可以延迟滚动吗?

标签 javascript jquery anchor scrollto

我需要直接链接到我网站上的 anchor ,例如#about。当您在同一页面内链接时,这效果很好。但是,当我需要链接到外部 anchor (例如 www.example.com/#about)时,它效果不佳。

由于主页上有大量动态内容,因此在 anchor 链接尝试向下滚动到 #about div 之前,这些内容尚未完全加载。因此,这会导致页面上出现错误的位置。

是否有某种方法可以延迟滚动到 anchor ,直到内容完全加载之后?我需要使用 jquery 而不是哈希链接到 #about div 吗?

最佳答案

我还没有测试过它,但是我突然想到,如果你在 window.onload 函数中调用它,或者如果必须的话,甚至在 setTimeout() 中调用它,这样的东西应该可以工作。

function moveToHash() {
    let urlHash = window.location.hash;

    if(urlHash) {
         window.location.hash = '';
         window.location.hash = urlHash;
    }
}

可能有点乱,但应该可以完成工作。

关于javascript - anchor 的外部链接 - 可以延迟滚动吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21447751/

相关文章:

javascript - jQuery 在数据值字符串中动态添加连字符

ruby-on-rails - 带有 anchor 的 request.referer

html - Chrome 不显示显示 :inline 的所有列表项

javascript - jquery动态下拉列表

javascript - 一个字符一个字符地淡入淡出(保持 DOM 完好无损)

javascript - 如何在jsdoc中使用@fires处理事件名称中的点

java - 具有动态生成的 HTML 的 JEditorPane.scrollToReference()

javascript - 单击 Backspace 按钮时 jQuery 过滤器不起作用

jquery - "Active"Rails 4 中 belongs_to 模型的导航类

javascript - ios风格的文件夹动画