我有一个包含两个选项卡的页面,我希望能够使用 Javascript 进行切换,但也在 URL 中设置 anchor (例如 page.html#tab1
)以用于书签/链接。
默认情况下,选项卡内容在两个 div 中,一个在另一个下面, anchor 标记将滚动到正确的那个,禁用 JS。
在启用JS的情况下,CSS类应用于使它们充当标签。每个选项卡都链接到每个 anchor ,但是当您单击切换选项卡时,页面会滚动到该选项卡。如果我从 onclick 函数返回 false,则 URL 不会更改以包含 anchor 。
如何使浏览器 URL 更改为 page.html#tab1
但不滚动到 #tab1
??
最佳答案
我已经玩了一段时间了,因为我最初不相信你(我使用 jQuery history plugin 得到类似的行为)。
我被难住了。我不认为你可以。作为解决方法,您可以做的是 use javascript to set the hash to something DIFFERENT from what is actually on the page .然后在加载时使用 javascript 读取哈希并填充正确的内容。 I do this on my site .所以在那种情况下,没有 javascript 的用户会被滚动,有 javascript 的用户会保留历史链,只有当没有 javascript 的人向有 javascript 的人发送链接时(反之亦然),它才会变得古怪。
关于javascript - 激活 URL anchor 但不滚动到它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1384500/