1秒后隐藏元素

时间:2018-02-05 18:25:26

标签: javascript html css

如何隐藏元素,然后在1秒后重新出现。

var obj = document.getElementById("myId");

obj.onclick = function() {
   this.style.display = "none"

   setTimeOut(function() {
      obj.style.display = "block";
   }, 1000);
}

我可以隐藏它,但它不再出现,这里有什么问题?

2 个答案:

答案 0 :(得分:3)

如果您想等待特定时间执行而忘记传递时间参数(在编辑问题之前),则setTimeout将延迟视为第二个参数。

 setTimeout(function() {
      obj.style.display = "block";
   }, 1000); //1000ms  = 1 sec

另请注意,o小。{/ p>

答案 1 :(得分:0)

您需要更改setTimeOut to setTimeout并以毫秒为单位传递时间以等待延迟:

  

setTimeout()方法

     

delay可选时间,以毫秒(千分之一秒)为单位,   计时器应该在指定的函数或代码之前等待   执行。如果省略此参数,则使用值0,表示   立即执行"立即执行,或者更准确地执行。注意   在任何一种情况下,实际延迟可能比预期的更长;看到   延迟的原因超过以下规定。

setTimeout()



   var obj = document.getElementById("myId");
    
    obj.onclick = function() {
       this.style.display = "none"
       
       setTimeout(function() {
          obj.style.display = "block";
       }, 1000);
    }

<div id="myId">Test</div>
&#13;
&#13;
&#13;