Javascript 一个body标签是否可以保存multiply onload=";setInterval();?

Javascript 一个body标签是否可以保存multiply onload=";setInterval();?,javascript,function,onload,setinterval,Javascript,Function,Onload,Setinterval,身体标签能保持两个设定的间隔吗?或者有两个函数使用相同的间隔 例: 您可以创建一个使用不同函数调用setInterval()两次的函数,并在body.onload()上调用它 我不认为两个函数可以有相同的间隔,除非你把它们封装在一个函数中,或者像这样内联调用它们: <body onload="setInterval(function(){ function1(); function2();}, 500);"> 只需使用并注册事件处理程序(在块中) 如果您只需要DOM树可用: $(

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

例:


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

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

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

只需使用并注册事件处理程序(在
块中)

如果您只需要DOM树可用:

$(document).ready(function() {
    setInterval(function1, 500);
    setInterval(function2, 1000);
});
否则(如果需要加载所有图像等):


您的第一个示例很好:

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

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

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

请参阅上述代码的一个示例。

在不发生冲突的情况下,根据需要实例化尽可能多的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>

//类定义
OnLoad=函数(taskFunction,毫秒){
var context=this;
context.cnt=0;
context.id=null;
context.doTask=taskFunction;
context.interval=函数(){
如果(document.readyState==“完成”){
尝试{context.stop();}catch(e){抛出新错误(“停止错误:“+context.id”);}
尝试{context.doTask();}catch(e){抛出新错误(“加载错误:“+context.id”);}
}   
};
context.start=函数(计时){
if(context.id&&context.id!=null)
context.stop();
context.cnt=0;
context.id=setInterval(context.interval,计时);
};
context.stop=函数(){
var _id=context.id;
clearInterval(context.id);
context.id=null;
};
上下文。开始(毫秒?毫秒:100);
};
//示例加载
新的OnLoad(函数(){
警报(“加载1”);
}); // 使用100毫秒的默认计时
新的OnLoad(函数(){
警报(“过载2”);
},200);
新的OnLoad(函数(){
警报(“过载3”);
},300);
试试这个,很简单。 你可以在这里运行这个并测试它

window.onload=function(){
函数foo(){
加载注释();
}
setInterval(foo,3600);}

函数Load_Note(){console.log(“api loded”)}
为什么人们仍然使用内联处理程序而不是创建适当的事件侦听器…同样的原因是人们仍然发布无用的响应(^-^)vTo来回答小偷…一种理论是,我还没有找到一种真正全面的方法来解决这一问题,它看起来对跨浏览器友好(除了jQuery之类的JS库)。当然可以,但是附加事件处理程序并不能在每个浏览器中都使用相同的函数,所以为什么不使用jQuery以干净的方式执行它呢?是的,关于事件处理程序,你是对的,但问题是关于时间间隔……别误会,你的解决方案很有效,这是一个很好的实践,但我不喜欢人们每一点时间都使用jQuery可以用纯JS完成的事情,按照您描述的第一种方式进行了尝试,效果非常好。谢谢。
window.onload = function() {
   setInterval(function1, 500); 
   setInterval(function2, 1000); 
}

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

function function2() {
   console.log("function2");   
}
<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>