效果完成前的回调?

时间:2012-02-08 16:08:56

标签: jquery jquery-ui jquery-effects

我正在使用JQuery-UI。我想在当前的一个完成之前开始一个新的效果。有可能吗?

目前,我正在使用类似代码的内容:

    div1.hide({
        duration: 1000,
        easing: 'easeOutQuint',
        effect: 'drop',
        direction : 'up'
    });
    div1.promise().done(function(){
        div2.show();
    });

谢谢!

编辑:如果可能的话,我想避开计时器。

2 个答案:

答案 0 :(得分:2)

您只需使用setTimeout()

即可
div1.hide({
    duration: 1000,
    easing: 'easeOutQuint',
    effect: 'drop',
    direction : 'up'
});
setTimeout(function(){
    div2.show();
}, 900);

上述将在div2.show()的持续时间结束前大约100毫秒有效地开始div1.hide()(换句话说:在1000毫秒动画开始后900毫秒)。

答案 1 :(得分:0)

您可以使用$.stop()

取消当前效果