Как объединить метод «до» с методом «fadeIn» в jQuery?

StackOverflow https://stackoverflow.com/questions/693852

  •  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);
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top