Я хочу, чтобы затухать элемент и все его дочерние элементы после задержки на несколько секунд. но я не нашел способа указать, что эффект должен начинаться после указанной временной задержки.Задержка эффектов JQuery
ответ
setTimeout(function() { $('#foo').fadeOut(); }, 5000);
5000 - пять секунд в миллисекундах.
Обратите внимание, что это использование встроенной функции setTimeout Javascript, ничего конкретного jQuery. –
Это лишь частично отвечает на его вопрос, я думаю. –
Если дети находятся в элементе #foo, они тоже должны исчезнуть ... – swilliams
Вы можете избежать использования setTimeout с помощью метода fadeTo() и установить для него 5-секундную задержку.
$("#hideAfterFiveSeconds").click(function(){
$(this).fadeTo(5000,1,function(){
$(this).fadeOut("slow");
});
});
Выполнение такого блока очень интенсивно по сравнению с setTimeout. Я не вижу преимущества. - Почему нужно избегать встроенного таймера? – redsquare
я использую этот плагин паузы я просто написал
$.fn.pause = function(duration) {
$(this).animate({ dummy: 1 }, duration);
return this;
};
Зов это следующим образом:
$("#mainImage").pause(5000).fadeOut();
Примечание: вам не нужен обратный вызов.
Edit: Теперь вы должны использовать метод jQuery 1.4. built in delay(). Я не проверял, но я предполагаю, что он более «умнее», чем мой плагин.
Это мне очень помогает!Спасибо :-) – Jesse
просто смотрите, если jQuery когда-либо добавляет функцию паузы(), потому что, вероятно, будет лучше, чем у меня! но его хорошо абстрагироваться от того, что вы делаете так: –
может кто-то объяснить ПОЧЕМУ мне не нужен обратный вызов? я не совсем уверен, почему это не сразу возвращается –
Я написал плагин, чтобы вы могли добавить задержку в цепочку.
например $ ('# div'). FadeOut(). Delay (5000) .fadeIn(); // исчезать элемент, ждать 5 секунд, затухать элемент обратно.
Он не использует анимационные хаки или чрезмерную цепочку обратного вызова, просто чистый чистый короткий код.
Раньше вы могли бы сделать что-то вроде этого
$('#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
Лучший способ заключается в использовании метода задержки JQuery:.
$ ('# my_id') задержка (2000). FadeOut (2000);
jQuery 1.4 и выше –
- 1. Задержка эффектов ondragover в jquery/javascript
- 2. Использование jQuery для эффектов
- 3. jQuery форма представления/улучшения эффектов?
- 4. Как дождаться завершения эффектов jQuery?
- 5. .load() не включает Jquery эффектов
- 6. jQuery: переопределение эффектов fadein/fadeout
- 7. jQuery UI Задержка всплывающей подсказки без эффекта
- 8. задержка Jquery Неизвестное Ошибка
- 9. Задержка Ajax в JQuery
- 10. Задержка jquery и setTimeout
- 11. Задержка наведения - jQuery
- 12. Задержка jQuery для меню
- 13. Задержка на функции jquery
- 14. jQuery отзывчивая навигация Задержка
- 15. Вставить объект (jquery) задержка?
- 16. задержка JQuery не работает
- 17. Задержка ajax success, jQuery
- 18. JQuery Facebox задержка
- 19. Задержка fadeOut menu jquery
- 20. Задержка jquery redirect
- 21. JQuery Animate Задержка Проблемы
- 22. Задержка и анимация jQuery
- 23. Задержка кода в jQuery
- 24. Обратная задержка в jQuery
- 25. Jquery задержка разнюхивать
- 26. задержка JQuery KeyUp поиск
- 27. Задержка анимации jQuery
- 28. jQuery: Задержка между addclass()
- 29. Задержка на jquery keyup?
- 30. Задержка jquery не работает
Можете ли вы привести пример того, когда дети элемента не исчезли с помощью элемента? – tvanfosson
Извините, моя ошибка, я обновлю сообщение –