我制作了一个应该显示错误或删除错误的函数。
不幸的是,当我以任何方式使用该功能时,例如像displayError(true, "test");
一样,它无效。
当我查看我的HTML代码以查看是否有任何更改时,没有任何更改。
function displayError(display, string, xhr) {
$("div#error").fadeOut(300, function() {
if(arguments.length == 1 && typeof display === "boolean" && display == false) {
//do nothing
} else if(arguments.length == 2 && typeof display === "boolean" && display == true && typeof string == "string") {
$("div#error").html('<b style="color: #ce1919;">(!)</b> '+string).fadeIn(300);
} else if(arguments.length == 3 && typeof display === "boolean" && display == true && typeof string == "string" && typeof xhr === "object") {
$("div#error").html('<b style="color: #ce1919;">('+xhr.status+")</b> "+string).fadeIn(300);
}
});
}
任何可以识别问题的人?
答案 0 :(得分:3)
答案 1 :(得分:0)
我发现了控制台日志方法。所以我试着检查我的功能是否完全被解雇了。但后来我发现arguments数组只是空的,这意味着参数在回调中不可用。所以我将参数存储在变量中,然后在回调中的if语句中使用该变量。
像这样:
function displayError(display, string, xhr) {
var args = arguments;
$("div#error").fadeOut(300, function() {
if(args.length == 1 && typeof display === "boolean" && display == false) {
//do nothing
} else if(args.length == 2 && typeof display === "boolean" && display == true && typeof string == "string") {
$("div#error").html('<b style="color: #ce1919;">(!)</b> '+string).fadeIn(300);
} else if(args.length == 3 && typeof display === "boolean" && display == true && typeof string == "string" && typeof xhr === "object") {
$("div#error").html('<b style="color: #ce1919;">('+xhr.status+")</b> "+string).fadeIn(300);
}
});
}