Javascript location.hash不带页面滚动

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

我使用window.location.hash从一个页面上的链接跳转到另一个页面上的div。这很有效。但是,当新页面打开时,它首先显示页面顶部,然后向下滚动到div。下面给出了我用于此操作的代码

问题:如何更改代码,以便在不从页面顶部滚动或跳转到div的情况下,立即在div处加载新页面

  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在这里实现了什么,对吧?只需删除代码…听起来你只是想要锚链接的默认行为,用于跳转到不同页面上的特定元素。如果是这样的话,解决方案就是删除这个脚本,它的一个目的就是只干扰上述默认行为……我并不是自己编写代码的。