16

可能重复:
jquery - 加载页面时禁用锚“跳转”

我根据 URL 中的哈希值显示一个 div,但我想避免页面跳转到具有该特定 ID 的该 div 的位置。

我只有在使用 URL 中的哈希直接导航页面时才会遇到问题,例如,如果有人用书标记了该页面。

所以例如我有 url domain.com/page.html#myitem-1

ID=myitem-1 然后会显示,它会显示,但页面会跳到我不想要的那个 div 的位置。

我试图使用 scrollTop(0) 强制窗口位置回到顶部,但似乎在锚跳转发生之前调用它没有效果

示例代码:

  $(document).ready(function() {
    $('.glossary-term').hide();
    $(window.location.hash).show();

    $(window).scrollTop(0);

});

我能够让这个 scrollTop 工作的唯一方法是将它放在一个持续时间为 1 的 setTimeOut 中,但这似乎有点像 hack。还有其他建议吗?

谢谢

4

1 回答 1

10

好吧,如果它是您使用锚点仅用于显示 div 的内部机制,您可以随时更改(或删除)“名称”属性,这样浏览器就不会直接找到它,也不会尝试滚动;)

否则尝试加载页面时如何禁用锚点“跳转”?

于 2012-05-16T21:19:10.213 回答