锚点的外部链接 - 你能延迟滚动吗?

时间:2014-01-30 04:20:30

标签: javascript jquery anchor scrollto

我需要直接链接到我网站上的锚点,例如#about。当您在同一页面内链接时,此工作正常。但是,当我需要在外部链接到锚点时,例如www.example.com/#about,它不能正常工作。

因为主页上有很多动态内容,所以在锚链接尝试向下滚动到#about div之前,它还没有完全加载。因此,它会导致页面上的错误位置。

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

1 个答案:

答案 0 :(得分:0)

我还没有测试过,但是我认为如果你在window.onload函数中调用它,或者如果你不得不在setTimeout()中调用它,那么这样的东西应该可行。

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

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

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