2011-04-02 61 views
0

我已經做了幾十次,但由於某種原因,我不明白爲什麼#下拉列表div不會顯示#下拉按鈕被點擊時...Javascript切換元素的顯示不工作

<html> 
<head> 
<script type="text/javascript"> 
    function toggleDropdown(optionalArg){ 
     optionalArg = (typeof optionalArg == "undefined")?'defaultValue':optionalArg 
     ele = document.getElementById("dropdown-list"); 
     //If optionalArg is 0 we want to hide it 
     if(optionalArg == 0){ 
      ele.style.display=='none' 
     } 
     //If optionalArg is 1 we want to show it 
     else if(optionalArg == 1){ 
      ele.style.display=='block'; 
     } 
     //If optionalArg is NULL we want to toggle it's display 
     else{ 
      if(ele.style.display=='none') 
       ele.style.display=='block'; 
      else 
       ele.style.display=='none'; 
     } 
    } 
</script> 
    <style type="text/css"> 
     #dropdown-container{ 
      width:200px; 
      border:1px solid black; 
      overflow: hidden; 
     } 
     #dropdown-text { 
      width:176px; 
      float:left; 
     } 
     #dropdown-button { 
      text-align:center; 
      width:20px; 
      border:2px outset black; 
      float:left; 
     } 
     #dropdown-button:active { 
      border:2px inset black; 
     } 
     #dropdown-list { 
      display:none; 
      width:200px; 
      max-height:250px; 
      background-color:#b0c4de; 
      border:1px solid #cccccc; 
      overflow:auto; 
     } 
    </style> 
</head> 
<body> 
    <div id="dropdown-container"> 
     <div id="dropdown-label"> 
      <input id="dropdown-text" type="text" /> 
      <div id="dropdown-button" onclick="toggleDropdown();">V</div> 
     </div> 
     <div id="dropdown-list"> 
      <ul class="dropdown-ul"> 
       <li>Item 1</li> 
       <li>Item 2</li> 
       <li>Item 3</li> 
      </ul> 
     </div> 
    </div> 
</body> 

應該是很簡單,但我認爲這只是晚,我在與JS的這個簡單的問題位。感謝您看看它!

+0

你爲什麼不使用jQuery? – lam3r4370 2011-04-02 12:41:53

回答

6

您使用等於運算符(==),而不是分配(=):

 if(ele.style.display=='none') 
      ele.style.display=='block'; 
     else 
      ele.style.display=='none'; 

應該

 if(ele.style.display=='none') 
      ele.style.display='block'; 
     else 
      ele.style.display='none'; 
+0

哈哈,謝謝 - 我覺得很愚蠢...... – jreed121 2011-04-03 04:23:56