Функция задержки 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");
но это, похоже, не имеет никакого значения.
Может ли кто-нибудь увидеть проблему с этим? Или как я могу решить проблему?
Спасибо заранее.
Ответы
Ответ 1
Функция delay()
применяется только к действиям, стоящим в очереди на элементе. Чаще всего, но не всегда, это действия, созданные методом animate()
. В этом случае используйте setTimeout
для запуска некоторого кода через определенный интервал.
Попробуйте следующее:
setTimeout(function() {
image.css({"visibility" : "hidden"}).removeClass("image-background");
}, 800);
Ответ 2
.delay()
относится не только к анимации.
Это для чего-нибудь в queue
.
image.delay(800)
.queue(function( nxt ) {
$(this).css({"visibility":"hidden"}).removeClass("image-background");
nxt(); // continue the queue
});
Для нижнего избирателя: