我的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