2015-01-12 178 views
0

嗨我想知道在哪裏添加代碼來延遲我的div的切換0.5秒 我剛開始使用javascript/jquery,但沒有任何幫助,給JavaScript函數添加一個延遲

function toggle_visibility(id) { 
     var e = document.getElementById(id); 
     if(e.style.display == 'block') 
      e.style.display = 'none'; 
     else 
      e.style.display = 'block'; 
    } 

//it is tied to this if it can help 

<a onclick="toggle_visibility('section1_1_content');toggle_visibility('note1_1');"> <div id="help_tiem_section1_1" onclick="chngimg1()" onmouseover="this.style.cursor='pointer'"> 
      <p1>TEST</p1><img src="down.png" height="10px" width="15px" id="imgplus1"/> 
     </div></a> 

但是,我該如何改變它,以便當它改回顯示時它不會延遲。 感謝Jcubic的快速響應。

+1

https://developer.mozilla.org/en-US/docs/Web /API/WindowTimers.setTimeout – scniro

+2

嘗試使用谷歌.... – Ruddy

+0

我把主題標題放到谷歌,想出了plen結果的類型。請在提問之前加上一點研究努力 – charlietfl

回答

0

您應該使用的setTimeout

function toggle_visibility(id) { 
    setTimeout(function() { 
     var e = document.getElementById(id); 
     if(e.style.display == 'block') 
      e.style.display = 'none'; 
     else 
      e.style.display = 'block'; 
    }, 500); 
} 

更新:

function toggle_visibility(id) { 
    var e = document.getElementById(id); 
    if (e.style.display == 'block') { 
     setTimeout(function() { 
      e.style.display = 'none'; 
     }, 500); 
    } else { 
     e.style.display = 'block'; 
    } 
} 
+0

我認爲永遠不會運行,你錯過了');' –

+0

@WilfredoP添加了缺失的字符。 – jcubic

+0

@jcubic然而,我該如何改變它,以便當它改回顯示時它不會延遲。 非常感謝! – joey