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

Как я могу угаснуть div, используя jQuery?

Есть ли способ размытия div после 5 секунд без использования функции setTimeOut?

4b9b3361

Ответ 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

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