Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/463.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript HTML定位点-位置错误_Javascript_Jquery_Html_Anchor_Points - Fatal编程技术网

Javascript HTML定位点-位置错误

Javascript HTML定位点-位置错误,javascript,jquery,html,anchor,points,Javascript,Jquery,Html,Anchor,Points,在过去的几个小时里,这个问题一直让我发疯。 我有一个单页的网站设计。锚定链接在页面本身上工作得非常好 但我有第二个页面,将作为博客部分 当我尝试从这里使用锚链接回索引页上的部分时,它们的位置不正确 请参阅主页: 然后尝试单击博客页面上的导航链接: 定位完全不正常 非常感谢您的任何帮助或想法 谢谢 约翰所以我找到了解决办法。 我添加了一个$window.load函数,该函数将从url读取哈希标记并滚动到onload: $(window).load(function() { var hash =

在过去的几个小时里,这个问题一直让我发疯。 我有一个单页的网站设计。锚定链接在页面本身上工作得非常好

但我有第二个页面,将作为博客部分

当我尝试从这里使用锚链接回索引页上的部分时,它们的位置不正确

请参阅主页:

然后尝试单击博客页面上的导航链接:

定位完全不正常

非常感谢您的任何帮助或想法

谢谢 约翰

所以我找到了解决办法。 我添加了一个$window.load函数,该函数将从url读取哈希标记并滚动到onload:

$(window).load(function() {
var hash = window.location.hash;
$(document).scrollTop( $(hash).offset().top ); 
});

如果无法实现上述功能,请尝试以下方法:

如果由于需要加载的资产,它没有按应有的方式降落到正确的div上,它将实际设置动画。如果要删除动画,我无法让上面的代码自行运行,但我在这里使用了我的示例,并结合上面的示例:


我不明白,你能说得更具体些吗。什么是不正常的?似乎对我有用。是的,我刚刚意识到这只发生在Firefox上。我打赌你正在运行不同的浏览器,对吗?
<script>
    $(window).load(function() {
        var hash = window.location.hash;
        console.log(hash);
        $('html, body').animate({
        scrollTop: $(hash).offset().top
    }, 2000);
        console.log("page loaded");
    });
</script>
<script>
        $(window).load(function() {
            var hash = window.location.hash;
            console.log(hash);

            $(document).scrollTop( $(hash).offset().top );

            $('html, body').animate({
            scrollTop: $(hash).offset().top
        }, 2000);
            console.log("page loaded");
        });
</script>