Güncelleme: jQuery 1.4'ten itibaren .delay( n )
yöntemi kullanabilirsiniz . http://api.jquery.com/delay/
$('.notice').fadeIn().delay(2000).fadeOut('slow');
Not : $.show()
ve $.hide()
varsayılan olarak sıraya alınmaz, bu nedenle $.delay()
onlarla birlikte kullanmak istiyorsanız , bunları şu şekilde yapılandırmanız gerekir:
$('.notice')
.show({duration: 0, queue: true})
.delay(2000)
.hide({duration: 0, queue: true});
Kuyruk sözdizimini kullanabilirsiniz, bu işe yarayabilir:
jQuery(function($){
var e = $('.notice');
e.fadeIn();
e.queue(function(){
setTimeout(function(){
e.dequeue();
}, 2000 );
});
e.fadeOut('fast');
});
veya gerçekten ustaca davranabilir ve bunu yapmak için bir jQuery işlevi yapabilirsiniz.
(function($){
jQuery.fn.idle = function(time)
{
var o = $(this);
o.queue(function()
{
setTimeout(function()
{
o.dequeue();
}, time);
});
};
})(jQuery);
bu (teoride, burada hafıza üzerinde çalışmak) bunu yapmanıza izin verir:
$('.notice').fadeIn().idle(2000).fadeOut('slow');