javascript - 激活 URL anchor 但不滚动到它?

标签 javascript scroll anchor

我有一个包含两个选项卡的页面,我希望能够使用 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/

相关文章:

javascript - 有没有办法检测浏览器窗口当前是否处于事件状态?

javascript - 如何将 ES 模块导出重命名为不是有效标识符的字符串文字

android - 使用 iScroll.js 插件后,在 Android 中单击文本字段时不会出现虚拟键盘

javascript - anchor 在 IE7 上分成两部分

javascript - 从 anchor 获取哈希 URL 并加载到 Div 中

javascript - 基于现有代码的简单响应式网站标题

css - 如何只滚动覆盖侧边栏而不滚动整个页面

android - 防止在 Android 上的 Chrome 中滚动 body 不起作用并生成错误消息

javascript - 如何将此元素作为 anchor 标记传递给 JavaScript 函数

javascript - 从中心的 CSS 过渡 div 宽度