2009-12-15 12 views
12

ich muss einen Div Text verschwinden nach x Sekunden der Anzeige mit einem Ajax Anrufmake Div-Text nach 5 Sekunden mit jquery verschwinden?

können Sie mir bitte dabei helfen? so etwas wie setTimeout ('$ ("# id"). fadeOut ("slow")', 5000), aber andere als festlegen müssen, dass es hängt davon ab, was der Rest des Codes

dank

Antwort

28

Sie empty() verwenden, um eine <div> Inhalte zu entfernen:

setTimeout(fade_out, 5000); 

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

vorausgesetzt:

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

Sie können dies tun mit einer anonymen Funktion, wenn Sie bevorzugen:

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

oder sogar:

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

setTimeout(fade_out, 5000); 

Letzteres manchmal bevorzugt, weil sie die globalen Namensraum weniger verschmutzen.

+0

funktioniert gut, aber ich kann mich nicht erinnern, dass wieder div .. ich den div Inhalt Text entfernen muß, während der div selbst Verwendung für neue zu halten ... dank –

+1

dann den Anruf entfernen zu leeren() und nur das tun fadeOut() –

+0

perfekt .. vielen dank –

1

Sie würden sieht aus wie kann

3
$.doTimeout(5000, function(){ 

// hide the div 
}); 
1

Dies sollte funktionieren:

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

Was ist der Deal mit $ .doTimeout? Ist das von einem Plugin oder Teil des Kerns? – ScottE

+0

Siehe http://benalman.com/projects/jquery-dotimeout-plugin/, in diesem Fall würde ich einfach window.setTimeout gedacht, nicht wirklich die Kosten eines Plugins für etwas so einfach –

3

Sie können die versuchen .delay()

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

Ruf der div die Verzögerungszeit in Millisekunden festgelegt und setzen Sie die Eigenschaft Sie, dass ich in diesem Fall verwendet, ändern möchten .fadeOut() kann animiert werden, aber Sie können auch .hide() verwenden.

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

0

Sie müssen möglicherweise erneut div Text angezeigt werden, nachdem es verschwunden ist. Dies kann in 1 Zeile erfolgen.

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