Come faccio a combinare il metodo di 'prima' con il metodo 'fadeIn' in jQuery?
-
22-08-2019 - |
Domanda
Ho una linea di jQuery che è l'inserimento di un div prima di un altro div che è già sulla pagina utilizzando il metodo prima di jQuery:
$("#sendEmail").before('<div id="response"><h1>Success</h1><p>Your email was sent.</p></div>');
Voglio il nuovo div a svanire in, così ho cercato di combinare i metodi in due modi diversi, ma entrambi non ha funzionato correttamente. Ecco quello che ho provato:
$("#sendEmail").before('<div id="response"><h1>Success</h1><p>Your email was sent.</p></div>').fadeIn("slow");
che non ha funzionato perche 'stava cercando di sfumare il div #sendmail e non quello che stavo inserimento. Ecco l'altro tentativo che ho fatto:
$("#sendEmail").before('<div id="response"><h1>Success</h1><p>Your email was sent.</p></div>');
$("#response").fadeIn("slow");
Anche questo non ha funzionato dal momento che il div #response è già inserito quando provo a svanire in, così non succede nulla.
Mi sento come se fossi veramente vicino, ma non riesco a capirlo. Può aiutare qualcuno?
Soluzione
impostare una regola CSS su #response di avere display: none
allora non mostrerà fino a quando non Fade In
Altri suggerimenti
$('<div id="response"><h1>Success</h1><p>Your email was sent.</p></div>')
.hide().insertAfter("#sendemail").fadeIn();
Prova ad aggiungere un extra $ () questo chiamerà createElement sulla risposta e dissolvenza che. Poi si aggiungerà l'elemento prima dell'elemento sendEmail.
$("#sendEmail").before($('<div id="response"><h1>Success</h1><p>Your email was sent.</p></div>').fadeIn("slow"));
In sostanza ciò che si espande a è.
var responseDiv = $('<div id="response"><h1>Success</h1><p>Your email was sent.</p></div>')
.fadeIn("slow");
$("#sendEmail").before(responseDiv);