无限函数调用

时间:2015-07-28 18:27:49

标签: javascript jquery

我试图调用一个函数,它将在最后再次调用该函数,以便它无限期地重复。

function foo2 () {
    setTimeout(function(){
        jQuery('#bloc2').height(jQuery('#zonetexteposition').height());
        jQuery('#bloc2-vertical').height(jQuery('#zonetexteposition').height());
        jQuery('#bloc2-horizontal').height(jQuery('#zonetexteposition').height());
    }, 1000);
}

该功能已在页脚中调用,但对于特定页面,#zonetexteposition高度经常自动更改,因此我希望页面调整大小。

2 个答案:

答案 0 :(得分:3)

如果您想重复调用某个功能,则需要setInterval,而不是setTimeout

在延迟之后,

setTimeout一次调用其回调setInterval重复调用其回调,直到被clearInterval取消。

答案 1 :(得分:0)

这将使用您的代码:

function foo2 () {
setTimeout(function(){
    foo2();
    jQuery('#bloc2').height(jQuery('#zonetexteposition').height());
    jQuery('#bloc2-vertical').height(jQuery('#zonetexteposition').height());
    jQuery('#bloc2-horizontal').height(jQuery('#zonetexteposition').height());
    }, 1000);
}
foo2();

但最好使用setInterval而不是setTimeout。

setInterval(function(){ 
    jQuery('#bloc2').height(jQuery('#zonetexteposition').height());
    jQuery('#bloc2-vertical').height(jQuery('#zonetexteposition').height());
    jQuery('#bloc2-horizontal').height(jQuery('#zonetexteposition').height());
}, 1000);

关于不在特定页面中工作,您能提供更多详细信息/代码吗?