一个body标签可以多次使用onload =“setInterval()”吗?

时间:2011-07-12 07:21:37

标签: javascript function onload setinterval

身体标签可以保持两个设定的间隔吗?或者有2个函数使用相同的间隔?

例如:

<body onload="setInterval(function1, 500); setInterval(function2, 1000);">

<body onload="setInterval(function1, function2, 500");>

5 个答案:

答案 0 :(得分:6)

您可以使用不同的函数创建一个调用setInterval()两次的函数,并在body.onload()上调用它。

我不认为2个函数可以具有相同的间隔,除非你将它们包装在一个中或者像这样内联调用它们:

<body onload="setInterval(function(){ function1(); function2();}, 500);">

答案 1 :(得分:2)

你的第一个例子没问题:

window.onload = function() {
   setInterval(function1, 500); 
   setInterval(function2, 1000); 
}

function function1() {
   console.log("function1");   
}

function function2() {
   console.log("function2");   
}

请参阅上述代码的示例here

答案 2 :(得分:0)

只需使用jQuery并注册一个事件处理程序(在<script type="text/javascript">块中)。

如果您需要的是DOM树可用:

$(document).ready(function() {
    setInterval(function1, 500);
    setInterval(function2, 1000);
});

否则(如果您需要加载所有图像等):

$(window).load(function() {
    setInterval(function1, 500);
    setInterval(function2, 1000);
});

答案 3 :(得分:0)

根据需要实例化尽可能多的onload而不会发生冲突。

<SCRIPT>

    // Class Definition
    OnLoad = function(taskFunction,miliseconds) { 
        var context = this;
        context.cnt = 0;
        context.id = null;
        context.doTask=taskFunction;
        context.interval = function() {
            if(document.readyState == "complete"){
               try{   context.stop();} catch(e){ throw new Error("stop error: " + context.id); }
               try{ context.doTask();} catch(e){ throw new Error("load error: " + context.id); }
            }   
        };
        context.start = function(timing) {
            if(context.id && context.id!=null)
                context.stop();
            context.cnt=0;
            context.id=setInterval(context.interval,timing);
        };
        context.stop = function() {
            var _id = context.id;
            clearInterval(context.id);
            context.id=null;
        };
        context.start(miliseconds ? miliseconds : 100);
    };


    // Example Onloads
    new OnLoad(function(){
        alert("onload 1");
    }); // uses default timing of 100 miliseconds

    new OnLoad(function(){
        alert("onload 2");
    },200);

    new OnLoad(function(){
        alert("onload 3");
    },300);

</SCRIPT>

答案 4 :(得分:0)

尝试此鳕鱼很简单。 您可以在此处运行并进行测试。

    window.onload = function() {            
        function foo() {
           Load_Note();
        }
        setInterval(foo, 3600);}
        
        
        function Load_Note() {console.log("api loded")}