Jquery функция задержки ()

У меня есть jquery, и я пытаюсь применить к нему задержку, но, похоже, не могу заставить его работать.

Текущий jquery выглядит следующим образом...

image.css({"visibility" : "hidden"}).removeClass("image-background");

и я попытался изменить это в соответствии с веб-сайтом jquery (http://api.jquery.com/delay/), чтобы применить задержку...

image.delay(800).css({"visibility" : "hidden"}).removeClass("image-background");

но это, кажется, не имеет никакого значения.

Кто-нибудь может увидеть проблему в этом? Или как я могу решить проблему?

Заранее спасибо.


person Phil    schedule 06.12.2011    source источник
comment
Возможно, вы можете попробовать это: stackoverflow.com/questions/251204/delay-jquery-effects   -  person phemios    schedule 06.12.2011


Ответы (2)


Функция delay() применяется только к действиям, поставленным в очередь на элемент. Чаще всего, но не всегда, это действия, созданные методом animate(). В этом случае используйте setTimeout для запуска некоторого кода через указанный интервал.

Попробуй это:

setTimeout(function() {
    image.css({"visibility" : "hidden"}).removeClass("image-background");
}, 800);
person Rory McCrossan    schedule 06.12.2011
comment
аааа ок, спасибо большое за помощь и быстрый ответ - person Phil; 06.12.2011
comment
Неправильно говорить, что .delay() относится только к анимации. - person RightSaidFred; 06.12.2011

.delay() предназначен не только для анимации.

Это для чего угодно в queue.

image.delay(800)
     .queue(function( nxt ) {
         $(this).css({"visibility":"hidden"}).removeClass("image-background");
         nxt(); // continue the queue
     });

Для проголосовавших против:

ЗДЕСЬ ДЕМО

person RightSaidFred    schedule 06.12.2011
comment
О, неосведомленные избиратели снова бастуют. Этот ответ абсолютно правильный и не дает неверной информации, как другие. Я предполагаю, что в StackOverflow это означает, что за него следует проголосовать против. - person RightSaidFred; 06.12.2011
comment
Спасибо, что не только рассказали, что делает delay(), но и показали queue(). - person Adarsha; 25.04.2018