我使用slideDown动画在新添加的表格行中显示一些div:
$("div", newRow).slideDown(10000, UpdateHours(response.d.Hours));
然而,在div完成动画之前很久就会调用UpdateHours()函数。这导致我出现问题,因为更新时间会被滑动div所覆盖。
我让幻灯片很慢,以更好地说明问题。
答案 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
的返回值