C'è un modo per dissolvere un div dopo 5 secondi senza utilizzare una funzione setTimeOut?Come posso sfumare un div usando jQuery?
risposta
tutti sanno che in jQuery 1.4 c'è una funzione di ritardo ora, giusto?
$('#div').delay(5000).fadeOut(400)
ecco come lo si fa, senza dover aggiungere alcuna funzione personalizzata o plug-in. è nativo di jquery 1.4
Supponendo che significare 'attendere cinque secondi e poi fade out', penso che dovrete utilizzare un plugin per forzare il ritardo, ad esempio this one
Non sono sicuro se si vuole prendere 5 secondi o inizio in 5 secondi.
Affinché occorra 5 secondi: La funzione di dissolvenza jQuery può essere utilizzata su un div e riduce l'opacità dell'elemento finché non è 0 e quindi non visualizza nessuno div. La velocità della dissolvenza è un parametro per la funzione.
http://docs.jquery.com/Effects/fadeOut#speedcallback
per avviarlo in 5 secondi, avrete bisogno di un qualche tipo di timer che inizia quando il documento o la finestra è pronto, o quando il div è pronto a seconda di ciò che si desidera.
Come circa la funzione fadeOut(). Sarebbe simile a questa:
$("#myDiv").fadeOut(5000);
Questo in realtà non risponde alla domanda. Vuole sbiadire * dopo * 5 secondi, non ha l'ultima dissolvenza * per * 5 secondi. –
voglio aspettare 5 secondi prima che l'animazione inizi. È risolto, ho scritto function come $ ("div"). FadeOut (10000); quindi funziona come quello che voglio fare esattamente fuori usando la funzione setTimeOut(). Grazie! –
In realtà fadeout start immediatamente :( –
Caso 1: se si desidera iniziare fadeOut dopo 5 secondi, usare questo:
jQuery.fn.delay = function(time,func){
return this.each(function(){
setTimeout(func,time);
});
};
Quindi, utilizzare in questo modo:
$('#div').delay(5000, function(){$(#div').fadeOut()})
Non è possibile raggiungere questo obiettivo senza utilizzare setTimeOut
C ase 2: se si desidera che la durata di fadeOut ad essere di 5 secondi, usare questo:
$('#div').fadeOut(5000)
Molto buono e utile :) proprio quello che stavo cercando! Saluti! –
// Io uso questo plugin di pausa che ho appena scritto
$.fn.pause = function(duration) {
$(this).animate({ dummy: 1 }, duration);
return this;
};
chiamare in questo modo:
$("#mainImage").pause(5000).fadeOut();
Nota: non è necessario un richiamo.
per qualche motivo pausa (5000) .css ("opacità", .5) non si ferma prima di impostare l'opacità, ma funziona per dissolvenza. qualcuno si preoccupa di spiegare? nota: quando ho detto "plugin ho appena scritto" cercavo di indicare "non completamente testato" - ma dovrebbe funzionare per quello che è stato chiesto per –
css() non usa la coda di animazione. se vuoi mettere in pausa prima di cambiare opacità ti serve qualcosa come "pause (5000) .animate ({'opacity': 0.5}); – mishac
Ho appena avuto lo stesso problema e, a mio parere, la risposta contrassegnata in realtà non soddisfa la domanda. Se uno specifica piace
$("#myDiv").fadeOut(5000);
come suggsted, il processo di dissolvenza in sé avrà una durata di 5 secondi, ma non inizio dopo 5 secondi.
Quindi ero alla ricerca di un'alternativa, senza dover includere un altro plugin jQuery ecc La soluzione più semplice mi è venuta era di scrivere come segue:
$("#myDiv").fadeTo(5000,1).fadeOut(1000);
utilizza l'effetto fadeTo ed è in qualche modo un "hack". Lascio scorrere la dissolvenza per 5 secondi e la dissolvenza a 1 = 100% di opacità. In questo modo l'utente non percepisce alcun cambiamento. Successivamente la normale chiamata a fadeOut con una durata dell'effetto di 1 secondo.
Immagino che questa soluzione sia abbastanza semplice poiché non richiede alcun plugin aggiuntivo e può essere scritta in 1 riga.
Cheers.
// EDIT:
A quanto pare v'è ora la possibilità di fare qualcosa di simile:
$('#myDiv').delay(800).fadeOut(1000);
Here are alcuni più cool, le funzioni utili.
- 1. Come aggiungere dinamicamente un div usando JQuery?
- 2. jQuery: come sfumare tra le classi?
- 3. Come posso stampare usando JQuery
- 4. Scorri un div offscreen usando jQuery
- 5. Stampa un contenuto div usando Jquery
- 6. Come ingrandire il contenuto div usando jquery?
- 7. Come rimuovere l'ultimo DIV usando jQuery?
- 8. allineamento verticale div all'interno di un div usando jquery?
- 9. Come rimuovo lo stile altezza da un DIV usando jQuery?
- 10. Come posso dissolvenza, cambiare test e quindi sfumare con jQuery in modo pulito?
- 11. Come sfumare nell'aggiunta di codice HTML con jQuery?
- 12. Come svanire in un div su hover/mouseover usando jquery?
- 13. Come scorrere all'inizio di un div usando jquery?
- 14. come aggiungere div a un div usando angularjs
- 15. Lanciare un div usando Javascript
- 16. Come aggiungere dinamicamente div all'interno di un div usando jQuery. Dovrebbe essere visualizzato anche per primo?
- 17. Come sfumare/rivelare una lettera alla volta?
- 18. Bordi di dissolvenza di div con jQuery
- 19. Come ruotare un div utilizzando jQuery
- 20. Come posso ottenere questo effetto flash usando jQuery?
- 21. Come smettere di flottare div al punto specificato usando jQuery
- 22. Come mantenere più DIV della stessa altezza usando jQuery?
- 23. Posso contare gli elementi usando jQuery?
- 24. Come posso provare XML usando jQuery
- 25. Come posso rilevare IE8, usando JQuery?
- 26. Come trovare div in un altro div usando HtmlUnit?
- 27. Come posso ottenere un'immagine usando jquery ajax?
- 28. jQuery duplicato DIV in un altro DIV
- 29. Passa tra i div all'interno di un altro div usando jQuery?
- 30. Come posso centrare un div all'interno di un altro div?
Vuoi che l'animazione impieghi 5 secondi o vuoi aspettare 5 secondi prima che inizi l'animazione? –
Sì, desidero attendere 5 secondi prima dell'avvio dell'animazione. È risolto, ho scritto function a $ ("div"). FadeOut (10000); allora funziona come quello che voglio fare esattamente! –