3

我想知道当调用 .stop() 函数时动画队列承诺状态会发生什么。

例如:

$('.my-elem')
    .stop(true, true)
    .animate({})
    .promise()
    .always(function() {
        // do something
    })

如果.stop()函数在任何时候被调用,之前返回的 Promise 会发生什么?

现在,我感觉到承诺的回报只是永远等待着。对此有任何线索吗?

4

1 回答 1

4

停止动画解决了承诺。

//start the anim and alert 'done' on deferred resolution
$('div').animate({height: 500}, 3000).promise().done(function() {
    alert('deferred resolved');
});

//interrupt it after 1 second
setTimeout(function() { $('div').stop(); }, 1000);
于 2012-08-02T19:16:54.093 回答