[英]Jquery Wait for animation to finish before leaving the function
我在函数中有一个动画。 如何编码以便动画在离开函数之前先完成?
考虑下面的代码:
ShowBanner.prototype.basicRotate = function (pos, callback) {
var self = this;
self.animation = true;
this.bigbannerScroll.animate({
left: pos
}, this.settings.rotateSpeed, function () {
self.animation = false;
if (callback) callback();
console.log('animation done');
return false;
});
console.log('function done');
}
根据代码,首先在console.log('animation done')
之前调用console.log('function done')
console.log('animation done')
。 有没有一种方法可以首先调用第一个日志,说明动画在离开函数之前已完成?
animate
是异步的,因此我认为没有办法在动画发生时暂停它。 最好的选择就是坚持使用complete
回调函数。
另一种选择是设置一个超时(使用setTimeout
)来定义另一个函数,该函数在指定的时间后运行。 但是,我看不到这样做的好处。
不可以,因为动画是异步函数,它将启动动画然后返回。
如果您需要在动画制作完成后执行某些操作,则需要使用complete回调。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.