如何在一段时间后隐藏div?

rag*_*rag 38 html jquery fadeout

我需要div在重新加载页面后的一段时间内隐藏(如"Gmail中发送的邮件成功").

我怎样才能做到这一点?

ros*_*533 93

这是一个基于您的测试的完整工作示例.将它与您目前要弄清楚出错的地方进行比较.

<html> 
  <head> 
    <title>Untitled Document</title> 
    <script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
    <script type="text/javascript"> 
      $(document).ready( function() {
        $('#deletesuccess').delay(1000).fadeOut();
      });
    </script>
  </head> 
  <body> 
    <div id=deletesuccess > hiiiiiiiiiii </div> 
  </body> 
</html>
Run Code Online (Sandbox Code Playgroud)


mar*_*cgg 44

在旧版本的jquery中,您必须使用settimeout以"javascript方式"执行此操作

setTimeout( function(){$('div').hide();} , 4000);
Run Code Online (Sandbox Code Playgroud)

要么

setTimeout( "$('div').hide();", 4000);
Run Code Online (Sandbox Code Playgroud)

最近使用jquery 1.4添加了这个解决方案:

$("div").delay(4000).hide();
Run Code Online (Sandbox Code Playgroud)

当然使用有效的jquery选择器用正确的元素替换"div",并在文档准备好时调用该函数.

  • 原因是,`setTimeout`函数期望它的第一个参数是函数或字符串.您既不提供,也在执行该函数,并且该函数的返回是您发送到`setTimeout`函数的函数.如果你传递函数本身,这将是有效的,如下所示:`setTimeout($("#div").hide,4000);`. (2认同)
  • @rag - 对于一个,你不在那里加载jQuery. (2认同)

Jag*_*age 8

setTimeout('$("#someDivId").hide()',1500);
Run Code Online (Sandbox Code Playgroud)