2012-05-14 128 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

行。我不確定,而且我懶得把一些代碼放在一起檢查。 –