我想知道在调用.stop()函数时动画队列承诺状态会发生什么。
例如:
$('.my-elem')
.stop(true, true)
.animate({})
.promise()
.always(function() {
// do something
})
如果在任何时候调用.stop()
函数,那么之前返回的promise会发生什么?
现在,我感觉到承诺的回报只是永远待着。有什么线索吗?
答案 0 :(得分: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);