2012-02-08 2 views
2

Я использую следующий jQuery. Поле «Div» соскальзывает, а затем через 5 секунд исчезает. Есть ли способ достичь этого, так как для коробки требуется много времени.jQuery Как свернуть с задержкой?

$(document).ready(function() { 
    $("#load_limit").slideUp(500); //have tried "fast" also 
    $("#load_limit").delay(5000); 
    $("#load_limit").slideDown(500); 
}); 
+0

Хотите, чтобы задержка была короче? – summea

+0

@TheBlackBenzKid: Код, который вы опубликовали, должен работать нормально. Какие у вас проблемы? –

+0

Что не так с вашим кодом? Разве что div занимает много времени, и jQuery увольняется до того, как он загрузится? – j08691

ответ

10

Вы можете отложить в функции обратного вызова:

$(document).ready(function() { 
    $("#load_limit").slideUp(500, function() { 
    $("#load_limit").delay(5000).slideDown(500); 
    }); 
}); 

или вы можете просто упростил:

$(document).ready(function() { 
    $("#load_limit").slideUp(500) 
        .delay(5000) 
        .slideDown(500); 
}); 

Co de: http://jsfiddle.net/xjEy5/2/

+2

Нет причин делать это. 'delay' будет ждать завершения' slideUp'. Добавление дополнительных 500 мс приведет к задержке дополнительных 500 мс. –

+0

Да, вы правы. Я удалил лишнее время. – Samich

0

Что именно не так с кодом, который у вас есть выше? Это выглядит функциональным (кроме вас есть slideDown/slideUp и не FADEOUT, как вы указали в инструкции)

Вот альтернативный способ добиться того же эффекта:

jQuery(function($) { // same as $(document).ready() but no conflicts :) 

    $('#load_limit').slideDown(500, function() { 
     var self = this; 
     setTimeout(function() { 
     $(self).fadeOut(500); 
     }, 5000); 
    }); 

}); 
+0

Что это делает? –

0

Сократите время на .slideUp() до нужного вам количества. Вот пример:

$("#load_limit").slideUp(50).delay(5000).slideDown(50);

В 50мс вы действительно не видите .slideUp() эффект, если высота вашего контента невелика. Поэтому вместо этого лучше использовать .hide().

+0

Как я могу использовать hide -> example please? – TheBlackBenzKid

+0

$ ("# load_limit"). Hide(). Delay (5000) .show(); – Uzbekjon

0

Найдите div, подождите в течение n секунд, а затем перейдите в режим перехода на миллисекунды, чтобы перейти вверх.

$("#div").delay(5000).slideUp(1000); 
Смежные вопросы