2011-04-17 111 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;