2012-05-14 125 views
0

我试图切换div使其可见/隐藏。我正在制作一个我想打开的排行榜,但只有点击后才能打开。Javascript collapsable div不工作?

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

我在做什么错? 我只想div来切换在能见度

+0

什么是不工作?你有错误信息吗?详细阐述这个问题 – MilkyWayJoe

+0

jquery,会让它更简单。想想吧 – MCSI

回答

2

您需要更改等号此行之间签署:

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

,向双等号,并删除分号。试试这个:

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

一个等于设置值,双等号比较值。

+0

你打败了我!你做得比我快;) – MCSI

+0

我不想把它当作比赛,但是,我确实打败了你:P –

+0

非常感谢! – matture

0

试试这个:

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

“if”条件结尾处的分号有什么影响?还是应该删除? –

+0

你是对的,是一个错误,为你+1的 – MCSI

+0

行。我不确定,而且我懒得把一些代码放在一起检查。 –