JavaScript - Jump to anchor

╄→尐↘猪︶ㄣ 提交于 2019-12-17 15:56:23

问题


I'm trying to open a div with a jump to the anchor. The opening part is working but it's not jumping to the named anchor

This is my script:

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

Any ideas what's wrong with it? Cheers.


回答1:


Looks like you're unhiding a spoiler div. If so, you can scroll the element into view as follows:

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>



回答2:


Did you try window.location.hash = '#'+id;?



来源:https://stackoverflow.com/questions/5694686/javascript-jump-to-anchor

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!