2012-05-14 7 views
0

En essayant de basculer le div pour le rendre visible/caché. Je fais une sorte de tableau de classement que je veux ouvrir mais seulement quand je clique dessus.Javascript collapsable div ne fonctionne pas?

<html> 
    <title>test</title> 

    <head> 
     <script type="text/javascript"> 
      <!-- the function --> 
      function showleaders() { 
       if (document.getElementById('leaderboard').style.visibility = "hidden";) { 
        document.getElementById('leaderboard').style.visibility = "visible"; 
       } else { 
        document.getElementById('leaderboard').style.visibility = "hidden"; 
       } 
      } 
     </script> 
     <style type="text/css"> 
      #leaderboard { 
       height: 300px; 
       width:300px; 
       left:0; 
       background:red; 
       border-radius:20%; 
       visibility:hidden; 
      } 
     </style> 
    </head> 

    <body> 
     <a href="javascript:showleaders();">Leaderboard</a> 
     <div id="leaderboard">hello</div> 
    </body> 

</html> 

Qu'est-ce que je fais mal? Je veux juste la div pour basculer entre les visibilités

+0

Qu'est-ce qui ne fonctionne pas? Avez-vous un message d'erreur? Élaborer sur cette question – MilkyWayJoe

+0

jquery, le rendrait plus simple. Pensez-y – MCSI

Répondre

2

Vous devez changer le signe égal dans cette ligne:

if(document.getElementById('leaderboard').style.visibility= "hidden";) 

Pour un double égal à égal, et de supprimer le point-virgule. Essayez ceci:

if(document.getElementById('leaderboard').style.visibility=="hidden") 

Un seul égaux définit la valeur, un double égal compare la valeur.

+0

vous me battre! vous avez fait plus vite que moi;) – MCSI

+0

Je préfère ne pas penser à cela comme une compétition, mais oui, je vous ai battu: P –

+0

Merci beaucoup! – matture

0

essayez ceci:

function showleaders() { 
    if (document.getElementById('leaderboard').style.visibility == "hidden") { 
     document.getElementById('leaderboard').style.visibility = "visible"; 
    } else { 
     document.getElementById('leaderboard').style.visibility = "hidden"; 
    } 
} 
+1

Quel effet a le point-virgule à la fin de la condition «if», le cas échéant? Ou devrait-il être retiré? –

+0

vous avez raison, est une erreur, +1 pour vous – MCSI

+0

OK. Je n'étais pas sûr, et j'étais trop paresseux pour jeter un code ensemble pour vérifier. –