在jQuery动画中只执行一次完整的功能?

Der*_*會功夫 1 javascript jquery

我正在尝试动画一些文字的字体大小:

$("p").delay(500).animate({
    "font-size": "+=50"
}, 1000, function() {
    alert("Done");
})?;
Run Code Online (Sandbox Code Playgroud)

这是一个演示.

我希望在动画<p>s 之后做一些事情,在示例中alert,但它令人惊讶地为每个人运行它<p>,这不是我想要的.是否有可能让它只运行一次或不可能?

Cro*_*osS 10

需要注意的是,您还可以使用promise对象:

返回一个Promise对象,以观察绑定到已排队或未排队的某个类型的所有操作是否已完成.

第一个例子(演示):

$("p").delay(500).animate({
    "font-size": "+=50"
}, 1000).promise().done(function(){
    alert("done");
});?
Run Code Online (Sandbox Code Playgroud)

第二个例子(演示):

$.when($("p").delay(500).animate({
    "font-size": "+=50"
}, 1000)).done(function(){
    alert("done");
});?
Run Code Online (Sandbox Code Playgroud)