我的html包含兩個相互重疊的表單,一個用作添加表單,一個用作編輯表單。我使用jQuery來顯示和使用下面的代碼隱藏:爲什麼你必須用匿名函數包裝回調?
var editForm = $("#edit-form");
var addForm = $("#add-form");
var showEditForm = function() {
editForm.fadeIn(function() {
addForm.fadeOut();
});
};
var showAddForm = function() {
editForm.fadeOut(function() {
addForm.fadeIn();
});
};
我想使代碼更緊湊,所以我直接做這樣的設置呼叫的回調:
var showEditForm = function() {
editForm.fadeIn(addForm.fadeOut);
};
var showAddForm = function() {
editForm.fadeOut(addForm.fadeIn);
};
但是這產生以下錯誤Uncaught TypeError: Failed to execute 'animate' on 'Element': Valid arities are: [1], but 4 arguments provided.
但爲什麼不工作?
您必須提供一個函數,以便高階函數fadeout可以觸發它。這個答案的範圍可以從monad到syntax – raam86