我试图让一个元素淡入,然后在 5000 毫秒内再次淡出。我知道我可以做类似的事情:
setTimeout(function () { $(".notice").fadeOut(); }, 5000);
但这只会控制淡出,我会在回调中添加上述内容吗?
Update:从 jQuery 1.4 开始,您可以使用.delay( n )
方法。http://api.jquery.com/delay/ http://api.jquery.com/delay/
$('.notice').fadeIn().delay(2000).fadeOut('slow');
Note: $.show()
and $.hide()
默认情况下不排队,所以如果你想使用$.delay()
对于它们,您需要这样配置它们:
$('.notice')
.show({duration: 0, queue: true})
.delay(2000)
.hide({duration: 0, queue: true});
您可以使用队列语法,这可能有效:
jQuery(function($){
var e = $('.notice');
e.fadeIn();
e.queue(function(){
setTimeout(function(){
e.dequeue();
}, 2000 );
});
e.fadeOut('fast');
});
或者你可以非常巧妙地创建一个 jQuery 函数来完成它。
(function($){
jQuery.fn.idle = function(time)
{
var o = $(this);
o.queue(function()
{
setTimeout(function()
{
o.dequeue();
}, time);
});
};
})(jQuery);
这将(理论上,在这里处理内存)允许你这样做:
$('.notice').fadeIn().idle(2000).fadeOut('slow');
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)