2011-04-17 103 views
14

我想打开一个跳转到锚点的div。开口部工作,但它不是跳转到命名锚JavaScript - 跳转到锚点

这是我的脚本:

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

任何想法有什么错呢? 干杯。

回答

11

看起来你正在取消隐藏扰流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> 
+0

谢谢!这就是诀窍。干杯 – Michael 2011-04-17 16:52:37

54

你试过window.location.hash = '#'+id;