可能重复:
jquery - 加载页面时禁用锚点"跳转"
我正在显示一个div,具体取决于URL中的哈希值,但我想避免页面跳转到具有该特定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);
});
Run Code Online (Sandbox Code Playgroud)
我能够让这个scrollTop工作的唯一方法是将它放在持续时间为1的setTimeOut中,但这看起来有点像黑客.还有其他建议吗?
谢谢
乙
我有一个带标签界面的页面.每个标签都有唯一的ID.我已经启用了指向该页面的链接,并在哈希之后附加了id,我现在正试图规避默认的浏览器行为,该行为在页面上元素的位置打开带有哈希的URL.
所以:
<a
href="pageB.php#Tab4">Go</a><div id="Tab4">页面上的位置.这正是我想要阻止的.
有任何想法吗?谢谢!
例如,我打开一个网页,向下滚动到某个位置,
然后我刷新Chrome浏览器,浏览器可以再次滚动前一个位置
如何使用javascript或css让浏览器忘记滚动?
我试过了$(window).scrollTop(0),但它不起作用
当我访问时my_site.com/page.php#something,滚动位置是携带此特定主题标签而不是页面顶部的元素之一.
执行window.scrollTo(0, 0);并不会改变这一事实.什么可以呢?
编辑:还尝试了如何在加载页面时禁用锚点"跳转"的接受答案?.似乎不再起作用了.