2012-10-15 110 views
1

我有我的HTML这样如何仅显示一个div 3秒钟,然后再次使用jquery消失?

<p id="msgfail" hidden="hidden" >Theres an error processing ur request</p> 
<p id="sucessmsg" hidden="hidden">Success fully update database</p> 

当我点击一个按钮,它会触发尝试输入数据到MySQL数据库。并且相应的p项目变得可见。现在我的问题是如何在超时后让它消失?

我尝试了这种方式

if ($("#msgfail").is(":visible")) { 
    setTimeout(function() {$("#msgfail").hide();}, 3000); 
} 
+0

&对不起,id的错误输入.. p id应msgfail – jinni

+0

该代码有什么问题?我似乎没有得到那个“*再*” – Alexander

+1

您发布的代码似乎正在工作 - 问题是,它何时执行。它是否在一些事件处理程序中? – feeela

回答

4

是这样的,你在想什么?

$("#msgfail").delay(3000).hide(1); 

Docs for delay

+0

ummm它不会消失? – jinni

+1

只有当你设置一个持续时间时,'delay'才能和'show()'和'hide()'一起使用。 –

+0

啊,就是这样。奇怪。谢谢! [这是一个演示](http://jsfiddle.net/U8nTY/),jinni。 –

2

您可以使用原生JavaScript的setTimeout

$('#msgfail').show(); 
setTimeout(function() { $('#msgfail').hide(); }, 3000); 
相关问题