Javascript location.hash不带页面滚动
我使用window.location.hash从一个页面上的链接跳转到另一个页面上的div。这很有效。但是,当新页面打开时,它首先显示页面顶部,然后向下滚动到div。下面给出了我用于此操作的代码 问题:如何更改代码,以便在不从页面顶部滚动或跳转到div的情况下,立即在div处加载新页面Javascript location.hash不带页面滚动,javascript,hash,Javascript,Hash,我使用window.location.hash从一个页面上的链接跳转到另一个页面上的div。这很有效。但是,当新页面打开时,它首先显示页面顶部,然后向下滚动到div。下面给出了我用于此操作的代码 问题:如何更改代码,以便在不从页面顶部滚动或跳转到div的情况下,立即在div处加载新页面 if (window.location.hash) { setTimeout(function() { $('html, body').scrollTop(0).sho
if (window.location.hash) {
setTimeout(function() {
$('html, body').scrollTop(0).show();
$('html, body').animate({
scrollTop: $(window.location.hash).offset().top
}, 1000)
}, 0);
}
else {
$('html, body').show();
}
我这样做是因为在加载过程中页面超时。当我以正常的方式执行时,如果没有这段代码,它将因为超时而无法工作。有什么建议吗
<script type="text/javascript">
var myVar;
function loadpage() {
myVar = setTimeout(showPage, 500);
}
function showPage() {
document.getElementById("loader").style.display = "none";
document.getElementById("myDiv").style.display = "block";
google.maps.event.trigger(map, 'resize')
map.setCenter(new google.maps.LatLng(50.849348, 4.7356652))
if (window.location.hash) {
setTimeout(function() {
$('html, body').scrollTop(0).show();
$('html, body').animate({
scrollTop: $(window.location.hash).offset().top
}, 0)
}, 0);
}
else {
$('html, body').show();
}
}
</script>
你自己写代码了吗?然后你应该知道scrollTop和animate在这里实现了什么,对吧?只需删除代码…听起来你只是想要锚链接的默认行为,用于跳转到不同页面上的特定元素。如果是这样的话,解决方案就是删除这个脚本,它的一个目的就是只干扰上述默认行为……我并不是自己编写代码的。