2015-01-12 132 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