2013-07-18 43 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

出於某種原因,它不會與'完成',但與'完成'它工作得很好。謝謝您的幫助。 –

相關問題