Как объединить метод «до» с методом «fadeIn» в jQuery?
-
22-08-2019 - |
Вопрос
У меня есть строка jquery, которая вставляет div перед другим div, который уже находится на странице, с помощью метода before jQuery:
$("#sendEmail").before('<div id="response"><h1>Success</h1><p>Your email was sent.</p></div>');
Я хочу, чтобы новый элемент div постепенно появлялся, поэтому я попробовал объединить эти методы двумя разными способами, но оба сработали неправильно.Вот что я попробовал:
$("#sendEmail").before('<div id="response"><h1>Success</h1><p>Your email was sent.</p></div>').fadeIn("slow");
Это не сработало, потому что он пытался скрыть div #sendmail, а не тот, который я вставлял.Вот еще одна попытка, которую я предпринял:
$("#sendEmail").before('<div id="response"><h1>Success</h1><p>Your email was sent.</p></div>');
$("#response").fadeIn("slow");
Это также не сработало, поскольку div #response уже вставлен, когда я пытаюсь его затухать, поэтому ничего не происходит.
Я чувствую, что очень близко, но не могу этого понять.Может ли кто-нибудь помочь?
Решение
установите правило CSS для #response для отображения:никто
тогда это не будет видно, пока ты не исчезнешь
Другие советы
$('<div id="response"><h1>Success</h1><p>Your email was sent.</p></div>')
.hide().insertAfter("#sendemail").fadeIn();
Попробуйте добавить дополнительный $(), который вызовет createElement в ответе и затухнет.Затем он добавит элемент перед элементом sendEmail.
$("#sendEmail").before($('<div id="response"><h1>Success</h1><p>Your email was sent.</p></div>').fadeIn("slow"));
По сути, это то, до чего это расширяется.
var responseDiv = $('<div id="response"><h1>Success</h1><p>Your email was sent.</p></div>')
.fadeIn("slow");
$("#sendEmail").before(responseDiv);