js setInterval问题
发布网友
发布时间:2022-04-25 21:25
我来回答
共6个回答
热心网友
时间:2022-04-25 22:55
直接给你贴上 测试代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<script type="text/javascript">
<!--
var x=0,
y=0,
z=0;
var tId = setInterval(function(){
//想让x加到100停止,y加到150停止,z加到500停止。怎么写?
//就是最后分别输出100、150、500
if(x >= 100 && y >= 150 && z >= 500) clearInterval(tId);
//这里变化的幅度自己调
if(x < 100) x++;
if(y<150) y++;
if(z<500) z++;
//下面是 测试代码
document.getElementById('d5').innerHTML = x+',' +y+','+z;
},10);
//-->
</script>
</head>
<body>
<div id="d5"></div>
</body>
</html>
补充一下:
如果想要 3个变量 同时达到 最高数字, 那就要按比例计算了,稍微复杂一点
下面是代码 同时增长
---------
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<script type="text/javascript">
<!--
var x=0,
y=0,
z=0;
var tId = setInterval(function(){
//想让x加到100停止,y加到150停止,z加到500停止。怎么写?
//就是最后分别输出100、150、500
if(x >= 100 && y >= 150 && z >= 500) clearInterval(tId);
//这里是 按 比例增加
if(x < 100) x+=1;
if(y<150) y+=1.5;
if(z<500) z+=5;
//下面是 测试代码
//实际使用的时候 如果不允许有小数点的话 就用 Math.round() 处理掉小数点
document.getElementById('d5').innerHTML = x+',' +Math.round(y)+','+z;
},10);
//-->
</script>
</head>
<body>
<div id="d5"></div>
</body>
</html>
热心网友
时间:2022-04-26 00:13
var x=0;
var y=0;
var z=0;
var t = setInterval(function(){
var flag = 0 ; //加个条件标志
//如果x小于100说明循环结束条件未通过,x继续增加,yz的判断与这个类似
if(x<100){
x+=10;//x每次增加量 测试设定为10
}else{
flag+=1;
}
if(y<150){
y+=10;//y每次增加量 测试设定为10
}else{
flag+=1;
}
if(z<500){
z+=10;//z每次增加量 测试设定为10
}else{
flag+=1;
}
if(flag==3){
//说明上面3个变量的值都达到预期
//dosomething 直接输出这3个值
document.write("X:"+x+"Y:"+y+"Z:"+z);
//清除循环
t=window.clearInterval(t);
}
},10);
热心网友
时间:2022-04-26 01:47
var x=0,y=0,z=0;
setInterval(function(){
x++;
y++;
z++;
if(x==100) document.write(x);
if(x==150) document.write(y);
if(x==200) document.write(z);
},10);
热心网友
时间:2022-04-26 03:39
var id = setInterval(function(){
if(x==100&&y==150&&z==500)
clearInterval(id);
else
{
your code;
}
},10);
热心网友
时间:2022-04-26 05:47
stimer = setInterval("redraw();",500*i);
clearInterval(stimer);
如上,stimer保存定时器,在定时函数里判断符合条件后,执行clearInterval清除定时器
热心网友
时间:2022-04-26 08:11
555