我正在使用slideDown动画在新添加的表行中显示一些div:
$("div", newRow).slideDown(10000, UpdateHours(response.d.Hours));
但是,在div完成动画之前很久就会调用UpdateHours()函数.这导致我出现问题,因为更新时间会被滑动div所覆盖.
我让幻灯片很慢,以更好地说明问题.
我认为它试图将调用UpdateHours(response.d.Hours)的结果作为回调函数传递,这可以解释为什么这么快被调用.一种解决方案是创建一个调用UpdateHours的匿名函数.
$("div", newRow).slideDown(10000, function () { UpdateHours(response.d.Hours) });
有一个演示用于在jQuery站点上以这种方式调用slideDown.http://docs.jquery.com/Effects/slideDown
我想你想要这个:
$("div", newRow).slideDown(10000, function() { UpdateHours(response.d.Hours); });
这将创建一个匿名函数,将其作为回调调用 - 您正在做的是将回调设置为返回值 UpdateHours