我需要制作一些fadeIn,然后在那里停留一秒钟,然后使用JQuery进行fadeOut。
我试过了,但由于某种原因它不起作用?
$('#' + uMessage).fadeIn("fast").fadeOut("slow"); // works
$('#' + uMessage).fadeIn("fast").delay(1000).fadeOut("slow"); // fails
我哪里出了问题,有什么建议吗?
非常感谢!
发布于 2010-09-07 22:51:25
实际上,您的第二种方法应该很好,对应于文档(http://api.jquery.com/delay/)
另一种方法可能是使用回调函数,该函数在fadeIn完成时调用:
$('#' + uMessage).fadeIn("fast", function() { $(this).delay(1000).fadeOut("slow"); });
只是个猜测
编辑:
如果您不能使用delay()方法,那么您可以尝试这个方法:
$('#' + uMessage).fadeIn("fast", function() {
c_obj = $(this);
window.setTimeout(function() { $(c_obj).fadeOut("slow"); }, 1000);
});
下面是一个例子:http://jsfiddle.net/KwWFR/
发布于 2010-09-07 22:51:44
可以尝试使用FadeIn函数的接口中指定的回调。淡入完成后,将调用此函数。
$('#' + uMessage).fadeIn("fast", function() {
$(this).delay(1000).fadeOut("slow");
});
发布于 2012-11-29 19:34:55
淡入淡出的延迟是不起作用的。结合使用queue after delay和回调有时也适用于其他情况
这对我来说是有效的:
$('#message').fadeIn(function() {
window.setTimeout(function() {
$('#message').fadeOut('slow');
}, 2000);
});
https://stackoverflow.com/questions/3659722
复制相似问题