2009-12-15 193 views

回答

28

您可以使用empty()刪除<div>內容:

setTimeout(fade_out, 5000); 

function fade_out() { 
    $("#mydiv").fadeOut().empty(); 
} 

假設:

<div id="mydiv"> 
    ... 
</div> 

你可以,如果你喜歡用一個匿名函數做到這一點:

setTimeout(function() { 
    $("#mydiv").fadeOut().empty(); 
}, 5000); 

甚至:

var fade_out = function() { 
    $("#mydiv").fadeOut().empty(); 
} 

setTimeout(fade_out, 5000); 

後者有時首選,因爲它污染了全局命名空間少。

+0

工作正常,但我不記得那一次的div ..我需要拆除的div內容的文字,同時保持在div本身對於新的應用...感謝 – 2009-12-16 00:07:56

+1

然後取出調用空(),只是做fadeout() – 2009-12-16 00:16:38

+0

完美..非常感謝 – 2009-12-16 00:18:48

1

您需要設置類似的setTimeout(「$(‘#ID’)。淡出(‘慢’)」,5000),但比它取決於你的代碼的其餘部分其他什麼貌似

3
$.doTimeout(5000, function(){ 

// hide the div 
}); 
1

這應該工作:

$(document).ready(function() { 
    $.doTimeout(5000, function() { 
     $('#mydiv').fadeOut(); 
    }); 
}); 
+0

$ .doTimeout有什麼優勢?這是來自插件還是核心的一部分? – ScottE 2009-12-16 00:03:58

+0

請參閱http://benalman.com/projects/jquery-dotimeout-plugin/,在這種情況下,我只是使用window.setTimeout思想,並不真正值得一個插件的成本這個簡單的東西 – 2009-12-16 00:26:26

3

你可以嘗試.delay()

$(".formSentMsg").delay(3200).fadeOut(300); 

呼叫DIV設定延遲時間以毫秒爲單位,並設置要更改的屬性,在這種情況下,我使用.fadeOut()所以它可以是動畫,但你也可以使用.hide()。

http://api.jquery.com/delay/

0

您可能需要再次顯示DIV文本它已經消失了。 這可以在1行中完成。

$('#div_id').empty().show().html(message).delay(3000).fadeOut(300);