无限函数调用

Infinite function call

本文关键字:函数调用 无限      更新时间:2023-09-26

我正在尝试调用一个函数,该函数将在结束时再次调用该函数,因此它会无限地重复自己。

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

这个函数已经在页脚中被调用了,但是,对于一个特定的页面,# zonetexexposition高度经常会自动改变,所以我想让页面重新调整大小。

如果您想要重复调用函数,您需要setInterval,而不是setTimeout

setTimeout在一定延迟后调用一次回调setInterval反复调用回调,直到被clearInterval取消。

这将在您的代码中工作:

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

关于不工作在特定的页面,你能给更多的细节/代码?