Подтвердить что ты не робот

Задержка эффектов JQuery

Я хочу вымыть элемент и все его дочерние элементы после задержки на несколько секунд. но я не нашел способ указать, что эффект должен начинаться после определенной задержки времени.

4b9b3361

Ответ 1

setTimeout(function() { $('#foo').fadeOut(); }, 5000);

5000 секунд составляет пять секунд в миллисекундах.

Ответ 2

Я использую этот плагин паузы, я просто написал

$.fn.pause = function(duration) {
    $(this).animate({ dummy: 1 }, duration);
    return this;
};

Назовите его следующим образом:

$("#mainImage").pause(5000).fadeOut();

Примечание: вам не требуется обратный вызов.


Изменить: теперь вы должны использовать jQuery 1.4. встроенный метод delay(). Я не проверял, но я предполагаю, что он более "умнее", чем мой плагин.

Ответ 3

Раньше вы делали что-то вроде этого

$('#foo').animate({opacity: 1},1000).fadeOut('slow');

Первый анимат ничего не делает, поскольку у вас уже есть непрозрачность 1 на элементе, но он приостанавливается на некоторое время.

В jQuery 1.4 они встроили это в структуру, поэтому вам не нужно использовать хак, как показано выше.

$('#foo').delay(1000).fadeOut('slow');

Функциональность такая же, как исходный плагин jQuery.delay() http://www.evanbot.com/article/jquery-delay-plugin/4

Ответ 4

Лучший способ - использовать метод задержки jQuery:

$( '# my_id') задержка (2000).fadeOut(2000);.

Ответ 5

Вы можете избежать использования setTimeout с помощью метода fadeTo() и установить для него 5-секундную задержку.

$("#hideAfterFiveSeconds").click(function(){
  $(this).fadeTo(5000,1,function(){
    $(this).fadeOut("slow");
  });
});

Ответ 6

Я написал плагин, чтобы добавить задержку в цепочку.

например $('# div'). fadeOut(). delay (5000).fadeIn();//вытесняем элемент, подождите 5 секунд, снова затушите элемент.

Он не использует анимационные хаки или чрезмерную цепочку обратного вызова, просто чистый чистый короткий код.

http://blindsignals.com/index.php/2009/07/jquery-delay/