7

我想在 .animate 回调函数之后调用一个函数。我为此目的使用 .done 方法,但它不起作用。小提琴

$(function(){
$('button').click(function(){
$('div').animate({width:'400px'},300,function(){alert(0)})
}).promise().done(function(){alert(1)})
})
4

2 回答 2

11

您正在调用done按钮元素,而不是div动画

$('button').click(function () {
    $('div').animate({
        width: '400px'
    }, 300, function () {
        alert(0)
    }).promise().done(function () {
        alert(1)
    })
})

演示:小提琴

于 2013-10-14T11:59:39.947 回答
1

您需要将承诺放在animate功能上。此刻,你有它在.click

$('button').click(function(){
    $('div').animate({width:'400px'},300,function(){alert(0)})
            .promise()
            .done(function(){alert("1")});
})
于 2013-10-14T12:00:25.457 回答