Javascript SetInterval表示函数不存在
我不知道我错过了什么。当setInterval开始运行时,它表示该函数不存在。我知道它在那里(我没有包括变量…因为这不是问题)。你知道我为什么会在说函数不存在时出错吗Javascript SetInterval表示函数不存在,javascript,jquery,Javascript,Jquery,我不知道我错过了什么。当setInterval开始运行时,它表示该函数不存在。我知道它在那里(我没有包括变量…因为这不是问题)。你知道我为什么会在说函数不存在时出错吗 function midgroundFunc() { $('#midground').css({ backgroundPosition: '0px 0px' }); $('#midground').animate({ backgroundPosition: "(" + mid
function midgroundFunc() {
$('#midground').css({
backgroundPosition: '0px 0px'
});
$('#midground').animate({
backgroundPosition: "(" + midX + " " + midY + ")"
}, midTime, midEase);
}
function foregroundFunc() {
$('#foreground').css({
backgroundPosition: '0px 0px'
});
$('#foreground').animate({
backgroundPosition: "(" + foreX + " " + foreY + ")"
}, foreTime, foreEase);
}
function backgroundFunc() {
$('#back').css({
backgroundPosition: '0px 0px'
});
$('#back').animate({
backgroundPosition: "(" + backX + " " + backY + ")"
}, backTime, backEase);
}
$(document).ready(function() {
$('#midground').css({
backgroundImage: 'url(' + midImage + ')'
});
$('#foreground').css({
backgroundImage: 'url(' + foreImage + ')'
});
$('#back').css({
backgroundImage: 'url(' + backImage + ')'
});
$.backstretch(backgroundStretch);
midgroundFunc();
foregroundFunc();
backgroundFunc();
setInterval("midgroundFunc()", midTime);
setInterval("foregroundFunc()", foreTime);
setInterval("backgroundFunc()", backTime);
});
这就是我得到的错误:
错误:未定义backgroundFunc
线路:96
错误:未定义midgroundFunc
电话号码:94
错误:未定义foregroundFunc
行:95直接调用函数,而不是使用字符串。这样可以避免范围界定问题:
setInterval(midgroundFunc, midTime);
setInterval(foregroundFunc, foreTime);
setInterval(backgroundFunc, backTime);
当您向setInterval
提供一个字符串时,它将在全局上下文中计算该字符串。如果它应该调用的函数不是全局函数,它将无法调用它们
(function () {
function callMe() { }
setInterval("callMe()", 1000);
})();
// "callMe()" will be evaluated here,
// where function callMe is not in scope
传递对回调函数的引用,而不是字符串:
setInterval(callMe, 1000);
SetInterval是全局的,无法查看您的函数。