【发布时间】:2010-03-11 15:38:43
【问题描述】:
当我重新加载页面时,我需要在一段时间后隐藏div(如Gmail中的“邮件发送成功”)。
我该怎么做?
【问题讨论】:
当我重新加载页面时,我需要在一段时间后隐藏div(如Gmail中的“邮件发送成功”)。
我该怎么做?
【问题讨论】:
这是一个基于您的测试的完整工作示例。将其与您当前所拥有的进行比较,以找出您出错的地方。
<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>
【讨论】:
在旧版本的 jquery 中,您必须使用“javascript 方式”使用 settimeout
setTimeout( function(){$('div').hide();} , 4000);
或
setTimeout( "$('div').hide();", 4000);
最近 jquery 1.4 已添加此解决方案:
$("div").delay(4000).hide();
当然,使用有效的jquery selector 将“div”替换为正确的元素,并在the document is ready 时调用该函数。
【讨论】:
setTimeout 函数的第一个参数期望是函数或字符串。您既没有提供,也没有提供,您正在执行该函数,并且该函数的返回就是您发送给setTimeout 函数的内容。如果您传递函数本身,这将起作用,如下所示:setTimeout( $( "#div" ).hide, 4000 );.
deletesuccess 在选择器中,但deletesucess 在 id 中。
setTimeout('$("#someDivId").hide()',1500);
【讨论】:
$().ready(function(){
$('div.alert').delay(1500);
$('div.alert').hide(1000);
});
div.alert{
color: green;
background-color: rgb(50,200,50, .5);
padding: 10px;
text-align: center;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="alert"><p>Inserted Successfully . . .</p></div>
【讨论】:
你也可以使用...
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script type="text/javascript">
$(function(){
setTimeout(function(){
$(".signup-success").fadeOut(1500);}, 5000);
});
</script>
【讨论】: