¿Hay alguna forma de desvanecer un div después de 5 segundos sin utilizar una función setTimeOut?¿Cómo puedo desvanecer un div usando jQuery?
Respuesta
todos saben que en jquery 1.4 hay una función de retardo ahora, ¿no?
$('#div').delay(5000).fadeOut(400)
así es como lo hace, sin tener que agregar funciones personalizadas o complementos. es nativo de jquery 1.4
Asumiendo que significa 'esperar cinco segundos y después desaparecerá', creo que vas a tener que usar un plugin para forzar el retraso, por ejemplo this one
No está seguro de si desea que se lleve 5 segundos o inicio en 5 segundos
Para que tome 5 segundos: la función jQuery fadeout se puede utilizar en un div, y reducirá la opacidad del elemento hasta que sea 0 y luego no muestre ninguno. La velocidad del fundido es un parámetro para la función.
http://docs.jquery.com/Effects/fadeOut#speedcallback
para iniciarlo en 5 segundos, usted necesitará algún tipo de temporizador que se inicia cuando el documento o ventana está listo, o cuando el div está listo dependiendo de lo que desee.
Qué tal la función fadeOut(). Sería algo como esto:
$("#myDiv").fadeOut(5000);
Esto realmente no responde la pregunta. Él quiere desaparecer * después de * 5 segundos, no tener el último fundido * durante * 5 segundos. –
quiero esperar 5 segundos antes de que comience la animación. Está resuelto, escribí la función como $ ("div"). FadeOut (10000); entonces está funcionando como lo que quiero hacer exactamente sin utilizar la función setTimeOut(). ¡Gracias! –
En realidad fadeout empezar de inmediato :( –
Caso 1: si quieres comenzar fadeOut después de 5 segundos, utilice esto:
jQuery.fn.delay = function(time,func){
return this.each(function(){
setTimeout(func,time);
});
};
A continuación, utilizar de esta manera:
$('#div').delay(5000, function(){$(#div').fadeOut()})
No puede lograr esto sin usar setTimeOut en absoluto
C ase 2: si desea que el duración de fadeOut a ser de 5 segundos, utilice esto:
$('#div').fadeOut(5000)
Muy bueno y útil :) ¡justo lo que buscaba! ¡Aclamaciones! –
// i utilizar este plugin de pausa que acabo de escribir
$.fn.pause = function(duration) {
$(this).animate({ dummy: 1 }, duration);
return this;
};
Llamada así:
$("#mainImage").pause(5000).fadeOut();
Nota: no necesita una devolución de llamada.
por alguna razón pause (5000) .css ("opacity", .5) no se detiene antes de configurar la opacidad, pero funciona para fadeout. a alguien le importa explicar? Nota: cuando dije "complemento, simplemente escribí", estaba tratando de indicar "no completamente probado", pero debería funcionar para lo que se solicitó. –
css() no usa la cola de animación. si quiere hacer una pausa antes de cambiar la opacidad, necesitará algo como "pausa (5000) .animate ({'opacidad': 0.5}); – mishac
Acabo de tener el mismo problema y, en mi opinión, la respuesta correcta realmente no satisface la pregunta. Si uno especifica que como
$("#myDiv").fadeOut(5000);
como suggsted, el proceso de decoloración en sí tendrá una duración de 5 segundos, pero no inicio después de 5 segundos.
Así que yo estaba buscando una alternativa, sin tener que incluir otro plugin de jQuery etc. La solución más simple que se me ocurrió fue que escribirlo de la siguiente manera:
$("#myDiv").fadeTo(5000,1).fadeOut(1000);
Se utiliza el efecto fadeTo y es de alguna manera un "truco". Dejo que fadeTo se ejecute durante 5 segundos y lo dejo fundido a 1 = 100% de opacidad. De esta forma, el usuario no percibe ningún cambio. Luego, la llamada normal a fadeOut con una duración del efecto de 1 segundo.
Supongo que esta solución es bastante simple ya que no requiere ningún complemento adicional y se puede escribir en 1 línea.
Saludos.
// EDIT:
Al parecer, ahora existe la posibilidad de hacer algo como esto:
$('#myDiv').delay(800).fadeOut(1000);
Here are algunas funciones útiles, más fresco.
- 1. ¿Cómo pausar antes de desvanecer un elemento usando jQuery?
- 2. Cómo rotar un div usando jQuery
- 3. JQuery eliminar elemento DOM después de desvanecer
- 4. ¿Por qué no puedo desvanecer esta fila de la tabla en IE usando jQuery?
- 5. ¿Cómo eliminar un atributo id de un div usando jQuery?
- 6. Cómo cambiar el título div usando jQuery
- 7. Desplácese a un div usando jquery
- 8. alineación vertical div dentro de un div usando jquery?
- 9. ¿Cómo eliminar el último DIV usando jQuery?
- 10. jQuery: ¿Cómo puedo activar un evento cuando aparece un div?
- 11. Agregar Div Dinámicamente usando JQuery
- 12. jQuery: ¿cómo puedo animar una rotación div?
- 13. ¿Cómo agregar din automáticamente un div usando JQuery?
- 14. ¿Cómo agregar múltiples elementos CSS a un div usando jQuery?
- 15. ¿Cómo desplazar continuamente contenido dentro de un DIV usando jQuery?
- 16. ¿Cómo puedo crear y diseñar un div usando JavaScript?
- 17. Detectando cuando cambia la altura de un div usando jQuery
- 18. usando jquery, cómo puedo seleccionar una imagen dentro de un div para cambiar su fuente
- 19. ¿Cómo puedo iterar a través de elementos secundarios de un div usando jQuery?
- 20. Cómo agregar div de manera dinámica dentro de un div usando jQuery. ¿Debería mostrar primero también?
- 21. ¿Puedo contar elementos usando jQuery?
- 22. jQuery anexar div a un
- 23. Cómo mover div con el mouse usando jquery?
- 24. Retire divs interior de un div padre usando jQuery
- 25. Comprobar div se oculta usando jQuery
- 26. Insertar HTML en DIV usando jQuery
- 27. ¿Puedo obtener las coordenadas de un div con JQuery?
- 28. Accediendo a un div con clase usando jquery
- 29. Deslice un div fuera de pantalla usando jQuery
- 30. ¿Cómo ocultar un div con jQuery?
¿Desea que la animación dure 5 segundos o desea esperar 5 segundos antes de que comience la animación? –
Sí, quiero esperar 5 segundos antes de que comience la animación. Está resuelto, escribí función a $ ("div"). FadeOut (10000); entonces está funcionando como lo que quiero hacer exactamente! –