隐藏具有特定时间限制的div

时间:2010-03-11 16:20:49

标签: javascript

  

可能重复:
  how to hide a div after some time period?

我需要在重新加载页面的某段时间后隐藏div(比如邮件在gmail中成功发送)?任何身体请通过代码帮助我..

6 个答案:

答案 0 :(得分:3)

试试这个:

var timePeriodInMs = 4000;

setTimeout(function() 
{ 
    document.getElementById("myDiv").style.display = "none"; 
}, 
timePeriodInMs);

答案 1 :(得分:2)

setTimeout(function(){
   document.getElementById('messageID').style.display = 'none';
}, 5000);  //5secs

答案 2 :(得分:2)

如果您希望元素在一段时间后消失,无论页面重新加载(这是我阅读您的问题的方式),您将不得不使用Cookie。

  • 您必须使用起点

  • 设置Cookie
  • 您必须在页面加载时执行JavaScript函数,将Cookie中设置的时间与当前时间进行比较,并相应地显示/隐藏元素。

  • 为了获得完美的解决方案,您还需要实现一个计时器,将当前日期与cookie中的日期进行比较,例如半秒,并在达到时间时隐藏元素。

使用像JQuery这样的框架当然是一个好主意。

答案 3 :(得分:1)

您可以使用setTimeout来延迟函数的执行:

window.setTimeout(doSomething, 1000); // 1000ms == 1 second

要隐藏元素,您可以将其display属性设置为none

var element = document.getElementById('foo');

function doSomething() {
    element.style.display = 'none';
}

答案 4 :(得分:1)

您正在查看setTimeout( expression, timeout );您需要在expression之后运行timeout以在分配给它的element.style.display="none"之后运行的时间。然后你会做setTimeout( function(){element.style.display="none"}, 4000 );

例如:

{{1}}

答案 5 :(得分:0)

  1. 将jquery添加到您的html文档
  2. 将脚本标记添加到文档的头部,其中包含:
  3. <script type="text/javascript">
        $(document).ready(function(){
            window.setTimeout(function(){
                $('#id-of-div').hide();
            }, 10000 /* delay time in milliseconds */
        });
    </script>