繁体   English   中英

jQuery等待动画完成后再离开函数

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM