2014-02-06 26 views
0

這個想法是讓兩個div基於點擊而出現或消失。 CSS顯示樣式設置爲無。 任何幫助表示讚賞。切換功能在撥打時不起作用

<div id="mainOval"> 
     <form id="btns"> 
      <input type="button" value="Timer" id="timerBtn" onclick="displayCont('Timer')"/> 
      <input type="button" value="Countdown" id="ctDownBtn" onclick="displayCont('Countdown')"/> 
     </form> 
</div> 
<div id="Timer"> 
</div> 
<div id="Countdown"> 
</div> 



<script type="text/javascript"> 
    function displayCont(inp) 
     { 
      var ele = document.getElementById(inp); 
      var shown = ele.style.display; 
      if (shown == 'none') 
       { 
        ele.style.display = 'block'; 
       } 
      else if (shown == 'block') 
       { 
        ele.style.display = 'none'; 
       } 
     } 
</script> 
+2

你永遠不會改變元素的屬性,只需設置'shown'的值即可。您需要實際更改顯示css值才能發生。 – thatidiotguy

+0

你的代碼在if()語句的等號之間是否真的有空格? –

回答

1

正確的代碼是:

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

你OT設置元素的風格,不只是分配一個JavaScript變量。等於==,而不是= =

+0

所以我做了你提到的兩個修復程序,但仍然無法正常工作。 – Reece

+0

您的元素中沒有'style'屬性。 'ele.style.display'不會從CSS獲得計算的樣式,它只會獲取'style =「XXX」'屬性中的任何內容。 – Barmar

+0

太棒了...終於有用:) – Reece