我有一个$image,它是.fadeIn和.fadeOut,然后是.fadeOut完成后的.remove。这是我的密码:
$image
.fadeIn()
.fadeOut(function() {
$(this).remove();
});我想在.fadeOut之后添加一个.fadeOut,并且只在.delay完成之后才添加.remove $image。我试过:
$image
.fadeIn()
.fadeOut()
.delay(1000, function() {
$(this).remove();
});问题是.delay不接受回调函数。我如何才能.remove图片作为对.delay的回调
发布于 2011-10-27 11:24:45
您可以使用队列()方法来安排您自己的函数在delay()完成后运行:
$image.fadeIn()
.fadeOut()
.delay(1000)
.queue(function(next) {
$(this).remove();
next();
});发布于 2011-10-27 11:23:44
你总是可以这样做的:
$image
.fadeIn()
.fadeOut(function() {
var self = this; // Not sure if setTimeout
// saves the pointer to this
setTimeout(function() {
$(self).remove();
}, 1000)
});发布于 2011-10-27 11:22:39
据我所知,您可以在延迟呼叫之后将电话系紧,如下所示:
$image
.fadeIn()
.fadeOut()
.delay(1000)
.remove()
});如下面文献资料中的示例所示
$('#foo').slideUp(300).delay(800).fadeIn(400);排着队的物品执行的气质也说明在那里:
...the .delay()方法允许我们延迟执行队列中跟随它的函数。它可以与标准效果队列或自定义队列一起使用。只有队列中的后续事件才会被延迟;例如,这不会延迟不使用效果队列的.show()或.hide()的非参数形式。
如果默认的fx队列有问题,可能需要指定一个队列,请阅读文档以获得有关延迟哪个队列的进一步信息。
https://stackoverflow.com/questions/7915140
复制相似问题