HTML锚点 - 错误的位置

时间:2014-02-12 22:08:14

标签: javascript jquery html anchor points

这个问题让我在过去几个小时内感到疯狂。 我有一个单页的网站设计。锚链接在页面本身上完美运行。

但我有第二页作为博客部分。

当我尝试使用此处的锚点链接回索引页面上的部分时,它们的位置不正确。

请参阅主页: www.redcedarstudios.ca/themes/Haze/index.html

然后尝试点击博客页面上的导航链接: http://www.redcedarstudios.ca/themes/Haze/post.html

定位完全没有了。

非常感谢任何帮助或想法。

由于 约翰

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:1)

如果您无法完成上述工作,请尝试以下方法:

<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>

如果由于需要加载的资产没有落在它上面,它实际上会生成正确的div。如果你想删除动画,我无法自己完成上面的代码,但我在这里结合上面的例子使用了我的例子:

<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>