2012-10-15 113 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); 
相關問題