Есть ли способ размытия div после 5 секунд без использования функции setTimeOut?
Как я могу угаснуть div, используя jQuery?
Ответ 1
все знают, что теперь в jquery 1.4 есть функция задержки, правильно?
$('#div').delay(5000).fadeOut(400)
как вы это делаете, не добавляя никаких настраиваемых функций или плагинов. он является родным для jquery 1.4
Ответ 2
Случай 1: если вы хотите запустить fadeOut через 5 секунд, используйте это:
jQuery.fn.delay = function(time,func){
return this.each(function(){
setTimeout(func,time);
});
};
Затем используйте его следующим образом:
$('#div').delay(5000, function(){$(#div').fadeOut()})
Вы не можете достичь этого, не используя setTimeOut вообще
Случай 2: если вы хотите, чтобы продолжительность fadeOut составляла 5 секунд, используйте это:
$('#div').fadeOut(5000)
Ответ 3
Как насчет функции fadeOut(). Будет выглядеть примерно так:
$("#myDiv").fadeOut(5000);
Ответ 4
У меня была одна и та же проблема, и, на мой взгляд, заметный ответ на самом деле действительно не отвечает. Если указать его как
$("#myDiv").fadeOut(5000);
как указано, процесс замирания будет длиться 5 секунд, но не начать через 5 секунд.
Итак, я искал альтернативу, не добавляя другой плагин jQuery и т.д. Самое простое решение, с которым я столкнулся, заключалось в следующем:
$("#myDiv").fadeTo(5000,1).fadeOut(1000);
Он использует эффект fadeTo, и это как-то "взломать". Я давал fadeTo работать в течение 5 секунд и позволял ему исчезать до 1 = 100% непрозрачности. Таким образом, пользователь не воспринимает никаких изменений. Впоследствии нормальный вызов fadeOut с длительностью эффекта 1 секунда.
Я думаю, это решение довольно просто, так как оно не требует дополнительного плагина и может быть написано в 1 строке.
Приветствия.
//EDIT:
По-видимому, теперь есть возможность сделать что-то вроде этого:
$('#myDiv').delay(800).fadeOut(1000);
Ответ 5
Не уверен, хотите ли вы, чтобы он занял 5 секунд или начинался через 5 секунд.
Для этого требуется 5 секунд: функция jadequery jQuery может использоваться в div, и это уменьшит непрозрачность элемента до тех пор, пока не станет 0, а затем отобразит div. Скорость затухания является параметром для функции.
http://docs.jquery.com/Effects/fadeOut#speedcallback
Чтобы запустить его за 5 секунд, вам понадобится какой-то таймер, который начинается, когда документ или окно готовы, или когда div готов в зависимости от того, что вы хотите.
Ответ 6
//Я использую этот плагин pause, я просто написал
$.fn.pause = function(duration) {
$(this).animate({ dummy: 1 }, duration);
return this;
};
Назовите его следующим образом:
$("#mainImage").pause(5000).fadeOut();
Примечание: вам не требуется обратный вызов.
Ответ 7
Предполагая, что вы имеете в виду "подождать пять секунд, а затем исчезнуть", я думаю, вам придется использовать плагин, чтобы заставить задержку, например этот