Javascript jQuery-等待淡入淡出完成的正确方法
我有一个问题,我想淡出一个图像,然后将图像移动到一个空的Javascript jQuery-等待淡入淡出完成的正确方法,javascript,jquery,timeout,fade,Javascript,Jquery,Timeout,Fade,我有一个问题,我想淡出一个图像,然后将图像移动到一个空的容器中。然而,图像并没有褪色,相反,它似乎是被移动所覆盖,使用html() 下面是我想做的。有没有办法让我强制移动等待淡出完成 // Fade out image to be replaced mosaic_box.find('img').fadeTo(7000, 0.0) // Then move the image $('.mosaic_list li:empty', obj) .random(1) .html(mos
容器中。然而,图像并没有褪色,相反,它似乎是被移动所覆盖,使用html()
下面是我想做的。有没有办法让我强制移动等待淡出完成
// Fade out image to be replaced
mosaic_box.find('img').fadeTo(7000, 0.0)
// Then move the image
$('.mosaic_list li:empty', obj)
.random(1)
.html(mosaic_box.find('img')
.addClass('mosaic_last_img')
);
将代码移动到函数中,并将该函数传递给fadeTo的回调参数
function callback(){
// Then move the image
$('.mosaic_list li:empty', obj)
.random(1)
.html(mosaic_box.find('img')
.addClass('mosaic_last_img')
);
}
// Fade out image to be replaced
mosaic_box.find('img').fadeTo(7000, 0.0, callback)
在fadeTo函数的回调中执行移动:
mosaic_box.find('img').fadeTo(7000, 0.0, function() {
$('.mosaic_list li:empty', obj)
.random(1)
.html(mosaic_box.find('img').addClass('mosaic_last_img'));
});
,与大多数与动画相关的方法一样,接受可选的回调参数,可以使用该参数指定动画完成后要运行的函数
要修改代码(未测试),请执行以下操作:
fadeTo()有一个可选的回调参数
.fadeTo(持续时间、不透明度[、回调])
回调-动画完成后调用的函数
最简单的方法是使用匿名函数-
mosaic_box.find('img').fadeTo(7000, 0.0, function(){
$('.mosaic_list li:empty', obj)
.random(1)
.html(mosaic_box.find('img')
.addClass('mosaic_last_img');
);
});
Cheers@Richard D-唯一的问题是我现在淡出图像,将其移动到空的
mosaic_box.find('img').fadeTo(7000, 0.0, function(){
$('.mosaic_list li:empty', obj)
.random(1)
.html(mosaic_box.find('img')
.addClass('mosaic_last_img');
);
});