我不知道我在这里想念的是什么。 setInterval开始运行时,它说该功能不存在。我知道它在那里(我不包括变量...因为那不是问题)。我为什么会收到错误消息,说功能不存在,对此有任何想法吗?

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);

09-25 17:14