我正在尝试更新哈希然后重新加载页面。
$('a[name="' + fragment + '"]').remove(); //don't jump before window reloads
window.location.hash = fragment;
window.location.reload(true);
重载窗口后没有跳转到锚标签。我该如何解决?
答案 0 :(得分:2)
如果你正在重新加载页面,这在jQuery中实现是相当简单的。只需在加载页面时检查window.location.hash
属性。
$(document).ready( function( ) {
if( window.location.hash ) { // just in case there is no hash
$(document.body).animate({
'scrollTop': $( window.location.hash ).offset().top
}, 2000);
}
});
唯一需要注意的是,您的哈希值与您要滚动的元素的ID匹配。
演示here
答案 1 :(得分:1)
MOZILLA DEVELOPER NETWORK建议使用replace
:
function reloadPageWithHash() {
var initialPage = window.location.pathname;
window.location.replace('http://example.com/#' + initialPage);
}
答案 2 :(得分:0)
window.location.href = url#anchor
(其中url可以是当前页面 - 或根据需要使用不同的页面)