setInterval据说相当于在后台加了个timer 然后每隔一段时间执行里面的function 而且不影响程序流程可是如果setInterval下面有语句的话 它就不执行了 非要等下面的所有语句都执行完了才执行 为什么???下面是证明 大家可以看看打印出来的时间<html><head><title></title>
<script language="javascript" type="text/javascript">
window.onload=function()
{ var div=document.getElementById("num");
div.appendChild(document.createTextNode("At start: "+(new Date()).getTime()+" "));
setInterval(append,2000);
function append()
{ var div=document.getElementById("text");
div.appendChild(document.createTextNode("during setInterval "));
div.appendChild(document.createTextNode((new Date()).getTime()+" "));
}
div.appendChild(document.createTextNode("After setInterval: "+(new Date()).getTime()+" "));
var curTime=(new Date()).getTime();
while(curTime+5000 > (new Date()).getTime());
div.appendChild(document.createTextNode("After pending 5000millisecs: "+(new Date()).getTime()));
}
</script>
</head><body>
<div id="text"></div>
<div id="num"></div>
</body></html>
高手讲讲 setInterval 怎么用? 对整个程序流程的影响?如果我想每隔2s调用function1 等funtion1满足某种条件后 再每隔4s调用function2 怎么写?
(好像不能 setInterval(function1,2);setInterval(function2,4) )
<script language="javascript" type="text/javascript">
window.onload=function()
{ var div=document.getElementById("num");
div.appendChild(document.createTextNode("At start: "+(new Date()).getTime()+" "));
setInterval(append,2000);
function append()
{ var div=document.getElementById("text");
div.appendChild(document.createTextNode("during setInterval "));
div.appendChild(document.createTextNode((new Date()).getTime()+" "));
}
div.appendChild(document.createTextNode("After setInterval: "+(new Date()).getTime()+" "));
var curTime=(new Date()).getTime();
while(curTime+5000 > (new Date()).getTime());
div.appendChild(document.createTextNode("After pending 5000millisecs: "+(new Date()).getTime()));
}
</script>
</head><body>
<div id="text"></div>
<div id="num"></div>
</body></html>
高手讲讲 setInterval 怎么用? 对整个程序流程的影响?如果我想每隔2s调用function1 等funtion1满足某种条件后 再每隔4s调用function2 怎么写?
(好像不能 setInterval(function1,2);setInterval(function2,4) )
var i = 0;
var t_id = 0;
var f = function(){
//如果i ==10 清除上面的setInterval计时器
if(i==10){
clearInterval(t_id); //建立新的计时器4s循环一次
t_id = setInterval(f,4000);
}
i++;
}t_id = setInterval(f,2000);
(与setInterval的区别是setInterval是循环执行,setTimeout 只执行一次。)具体使用就不说了,建议你自己google,加深下记忆。
但xtml是逐条读取代码的,它有先后顺序的,如果你把setInterval放在前面它会先执行的
{
if(条件满足)
{
clearInterval(t);
t=setInterval("f2()",4000);
}
else
//做自己该做的事}function f2()
{
//做自己该做的事
}
这个没有问题 而且编译结果正确 append可以写到后面啊~~ 它是个function嘛
setInterval(append,2000);
function append()
{ var div=document.getElementById("text");
div.appendChild(document.createTextNode("during setInterval "));
div.appendChild(document.createTextNode((new Date()).getTime()+" "));
}
或者是
iframe.src=...
iframe.onload=function(){..}其實這些習慣都不好而且, 不一定要先定好名字
可以直接setInterval(function ()
{ var div=document.getElementById("text");
div.appendChild(document.createTextNode("during setInterval "));
div.appendChild(document.createTextNode((new Date()).getTime()+" "));
},2000);