回调.delay()
我有一个$image
.fadeIn
和.fadeOut
$image
,然后.fadeOut
完成后.fadeOut
.remove
。 这是我的代码:
$image .fadeIn() .fadeOut(function() { $(this).remove(); });
我想在.delay
之后添加一个.delay
,并且只.delay
一次$image
.delay
已完成。 我试过了:
$image .fadeIn() .fadeOut() .delay(1000, function() { $(this).remove(); });
问题是.delay
不接受回调函数。 我怎样才能将图片作为对.delay
的回调.delay
?
您可以使用queue()方法来安排自己的函数在delay()
完成后运行:
$image.fadeIn() .fadeOut() .delay(1000) .queue(function(next) { $(this).remove(); next(); });
你可以随时这样做:
$image .fadeIn() .fadeOut(function() { var self = this; // Not sure if setTimeout // saves the pointer to this setTimeout(function() { $(self).remove(); }, 1000) });
据我所知,你可以在延迟通话后打电话,如下:
$image .fadeIn() .fadeOut() .delay(1000) .remove() });
例如在以下示例中来自文档 :
$('#foo').slideUp(300).delay(800).fadeIn(400);
排队物品执行的气质也在那里拼写:
… .delay()方法允许我们延迟队列中跟随它的函数的执行。 它可以与标准效果队列一起使用,也可以与自定义队列一起使用。 只有队列中的后续事件才会延迟; 例如,这不会延迟不使用效果队列的.show()或.hide()的无参数forms。
阅读文档以获取有关延迟哪个队列的更多信息,如果您在使用默认fx
队列时遇到问题,则可能需要指定一个队列。