2013-07-18 42 views
0

我有一个由AJAX更新的表。当一个项目被删除时,我想先将项目隐藏起来,然后再对表格进行更新。在.hide()完成其动画之前,不要运行函数

我认为这可以通过.hide()(下面的例子)来实现,但函数inlineEditEvent.update_table()正在立即运行,而不是等待动画完成。

有没有人知道我需要做些什么才能使该功能在hide()完成动画之前不会触发?谢谢。

$(t.what+id).hide({ 
    duration: 800, 
    done: inlineEditEvent.update_table() // Have also tried 'complete' 
}); 

回答

3

你需要通过调用它的回调函数引用传递到done,而不是由update_table返回的值(加()在函数名末尾会调用它)

应该

$(t.what+id).hide({ 
    duration: 800, 
    done: inlineEditEvent.update_table 
}); 
如果你想传递的任何数据

$(t.what+id).hide({ 
    duration: 800, 
    done: function(){ 
     inlineEditEvent.update_table(1, 2, 3) 
    } 
}); 
+0

好的,这是有道理的。现在有一个小问题 - 我需要将一些变量传递给回调函数。这可能通过这种方法吗? –

+0

出于某种原因,它不会与'完成',但与'完成'它工作得很好。谢谢您的帮助。 –

相关问题