2011-04-17 20 views
14

Estoy tratando de abrir un div con un salto al ancla. La parte inicial está funcionando pero no está saltando a la fijación con nombreJavaScript - Saltar al ancla

Ésta es mi guión:

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

Alguna idea de lo que está mal con ella? Saludos.

Respuesta

11

Parece que estás descubriendo un spoiler div. Si es así, puede desplazar el elemento a la vista de la siguiente manera:

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

¡Gracias! Eso hace el truco. Aclamaciones – Michael

54

¿Has probado window.location.hash = '#'+id;?

Cuestiones relacionadas