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

JQuery $('# div'). Show(). Delay (5000).hide(); не работает

Я пытаюсь показать div, установленный на display: none; в течение 5 секунд с помощью

$('#div').show().delay(5000).hide();

но он не работает, он просто прячется, чтобы скрыть()

Может кто-нибудь из вас мне помочь?

4b9b3361

Ответ 1

Сделайте это так:

$('#div').show(0).delay(5000).hide(0);

Переходя в числах до .show() и .hide(), jQuery будет принимать эти методы во внутреннюю очередь fx (даже если число равно нулю). Так как .delay() работает только в очереди, вам потребуется небольшое обходное решение.

пример: http://jsfiddle.net/zceKN/

Ответ 2

Вам нужно использовать .queue(), потому что .hide() по умолчанию не ставится в очередь.

$("#div").show().delay(5000).queue(function (next) {
    $(this).hide();
    next();
});

Ответ 3

Вам нужна длительность в вашей шкуре, чтобы она работала:

$('#div').show('slow').delay(5000).hide('slow');

Пример: http://jsfiddle.net/Paulpro/GLTaB/

Ответ 4

$('#div').show();
setTimeout(function(){$('#div').hide();}, 5000);

.delay() работает только для анимаций