如果页面有哈希,则滚动加载

时间:2015-08-14 23:13:27

标签: javascript html

这听起来非常具体,但是当有人使用固定元素作为页面标题并希望在URL中使用#来将用户引导到html中的特定元素时,它可能会发生。

我正在尝试以下方法。它显示警报(用于错误检查)但不滚动:

window.onload = function onload()
{
    if(window.location.hash)
        {
            alert("test");
            window.scrollBy(0, -300);   // The height of my header is 300px
        } 
}

这是一个好的方法,我只是遗漏了什么?有关于尝试滚动页面加载的错误吗?滚动是否被#方向覆盖了。是否只是语法错误?是否有更好的方法来解决这个问题?

1 个答案:

答案 0 :(得分:0)

您可以定义为元素添加相同的ID,例如:

<div id="header-area>
   <h1>Awesome Page</h1>
</header>

<div class="content">
<div>

<div id="move-to-footer"
</div>

并有如下链接:

这会将您带到具有该ID的div或HTML标记。