递归函数:我在哪里错了?

时间:2012-10-12 15:10:02

标签: javascript jquery recursion

代码:

isDomLoaded = $(function () {
    setTimeout(function () {
        if (renderFinished) {
            renderSocial(fotoProssima);
        } else {
            isDomLoaded();
        }
    }, 300);
});

它说isDomLoaded is not a function

2 个答案:

答案 0 :(得分:11)

那是因为它不是一个功能。它是一个jQuery对象。

您需要的是:

isDomLoaded = function () {
    setTimeout(function () {
        if (renderFinished) {
            renderSocial(fotoProssima);
        } else {
            isDomLoaded();
        }
    }, 300);
};

如果要在DOM准备就绪时运行它,请在声明函数后执行此操作:

$(window).load(isDomLoaded);

但是,我认为您真正需要的是摆脱isDomLoaded函数并使用以下内容:

$(document).ready(function(){
    renderSocial(fotoProssima);
});

答案 1 :(得分:1)

function isDomLoaded(){
    //code

    //recursive call
    isDomLoaded();
}