2009-12-15 25 views

Respuesta

28

puede utilizar empty() para eliminar un <div> contenidos:

setTimeout(fade_out, 5000); 

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

asumiendo:

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

Usted puede hacer esto con una función anónima si lo prefiere:

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

o incluso:

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

setTimeout(fade_out, 5000); 

Este último se prefiere a veces porque contamina el espacio de nombres global menos.

+0

trabajando muy bien, pero no puedo recordar que div otra vez .. i necesidad de eliminar el texto contenido div div mientras se mantiene la misma para un nuevo uso ... gracias –

+1

luego retire la llamada a vaciar() y simplemente hacer lo fadeOut() –

+0

perfecto ... muchas gracias –

1

Usted tendría que establecer algo así como setTimeout ('$ ('# id'). FadeOut ('lento')', 5000), pero aparte de eso, depende de lo que el resto de su código Aspecto del producto

3
$.doTimeout(5000, function(){ 

// hide the div 
}); 
1

Esto debería funcionar:

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

¿Cuál es el problema con $ .doTimeout? ¿Eso es de un complemento o parte del núcleo? – ScottE

+0

Ver http://benalman.com/projects/jquery-dotimeout-plugin/, en este caso solo usaría window.setTimeout thought, no realmente vale la pena el costo de un plugin por algo tan simple –

3

Usted puede intentar la llamada .delay()

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

el div ajustar el tiempo de retardo en milisegundos y establezca la propiedad que desea cambiar, en este caso he usado .fadeOut() para que pueda ser animado, pero también puedes usar .hide().

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

0

Es posible que deba mostrar div texto de nuevo después de que haya desaparecido. Esto se puede hacer en 1 línea.

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