jQuery - 等待淡入淡出完成的正确方法
我有一个问题,我想要淡出图像,然后将图像移动到空的
容器。然而,图像并没有褪色,相反,它看起来像是使用 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')
);
I have a problem where I want to fade out an image, then move the image to an empty <li>
container. However, the image doesn't fade, instead it just seems like the fade is being overridden by the move, using html()
.
Below is what I'm trying to do. Is there a way I can force the move to wait for the fade to complete?
// 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')
);
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
在 fadeTo 函数的回调中进行移动:
Do the move in the callback from the fadeTo function:
将代码移至函数中并将该函数传递给 fadeTo 的回调参数
Move your code into a function and pass that function to the callback param of fadeTo
fadeTo() 与大多数动画相关方法一样,接受一个可选的回调参数,您可以使用该参数来指定动画完成后运行的函数。
修改您的代码(未经测试):
fadeTo(), as with most animation related methods, accept an optional callback argument which you can use to specify the function to run once the animation is completed.
To modify your code (untested):
jQuery.fadeTo() 有一个可选的callBack 参数。
http://api.jquery.com/fadeTo/
.fadeTo( 持续时间,不透明度 [,回调] )
回调 - 动画完成后调用的函数。
最简单的方法是使用匿名函数 -
jQuery.fadeTo() has an optional callBack parameter.
http://api.jquery.com/fadeTo/
.fadeTo( duration, opacity [, callback] )
callback - A function to call once the animation is complete.
The simplest way to do this is using an anonymous function -