0

让我解释一下:我有一个网站,index.html 该网站应该从一个特定的锚点开始,它位于页面的最底部。我使用以下代码做到了这一点:

setTimeout("window.location.href='index.html#start'",0);

问题是:我想与其他人分享一个链接,例如index.html/#work 在这种情况下,网站不应该移动到#start锚点。但确实如此。

#start所以这是我的问题:如果请求的站点是index.html并且始终保持不变,如果请求的站点中有一个锚点,是否有可能站点只滚动到它?(例如index.html/#anchor

非常感谢!

4

1 回答 1

3

当然:

if (window.location.hash === "") {
    window.location.hash = "start"
}

没有理由将哈希更改包装在 asetTimeout中,而不是更改href,只需更改hash,这样如果您更改文件名或将代码移动到其他文件,它仍然可以工作。

另外,请记住将代码包装在 a 中window.onload,以便您尝试跳转到的元素确实存在。(使用window.onload = function() { /* code here */ }

于 2013-10-14T21:17:30.923 回答