动画结束前调用的JQuery动画回调

时间:2008-12-02 18:27:54

标签: jquery

我使用slideDown动画在新添加的表格行中显示一些div:

$("div", newRow).slideDown(10000, UpdateHours(response.d.Hours));

然而,在div完成动画之前很久就会调用UpdateHours()函数。这导致我出现问题,因为更新时间会被滑动div所覆盖。

我让幻灯片很慢,以更好地说明问题。

2 个答案:

答案 0 :(得分:34)

我认为它试图将调用UpdateHours(response.d.Hours)的结果作为回调函数传递,这可以解释为什么这么快被调用。一种解决方案是创建一个调用UpdateHours的匿名函数。

$("div", newRow).slideDown(10000, function () { UpdateHours(response.d.Hours) });

在jQuery网站上有一个以这种方式调用slideDown的演示。 http://docs.jquery.com/Effects/slideDown

答案 1 :(得分:7)

我想你想要这个:

$("div", newRow).slideDown(10000, function() { UpdateHours(response.d.Hours); });

这将创建一个将被称为回调的匿名函数 - 您正在做的是将回调设置为UpdateHours的返回值