JavaScript - 跳转到锚点

15

我正在尝试打开一个带有跳转锚点的div。打开部分已经起作用,但没有跳转到指定的锚点。

这是我的脚本:

<script type="text/javascript">
    function spoil(id){
        if (document.getElementById) {
            var divid = document.getElementById(id);
            divid.style.display = (divid.style.display = 'block');
            window.location = '#' + id;
        }
    }
</script>

<a href="http://example.com" onclick="spoil('thanks');" title="hello">
    <img src="images/gfx.png" alt="world" width="300" height="300"/>
</a>

有什么想法是错的吗? 谢谢。

2个回答

54

你尝试过使用 window.location.hash = '#'+id; 吗?


12

看起来你正在取消隐藏一个剧透的div。如果是的话,你可以按照以下方式将元素滚动到视图中:

function spoil(id) {
    var divid = document.getElementById(id);
    divid.style.display = 'block';
    divid.scrollIntoView(true);
    return false;
}
...
<a href="#" onclick="return spoil('thanks');" title="hello"><img src="images/gfx.png" alt="world" width="300" height="300"/></a>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接