js里的for循环控制不住了,代码如下 20

for(vary=0;y<9;y++){vartimr=setInterval(function(){varnew_lef=img10.style.left;varne=... for(var y=0;y<9;y++) {
var timr = setInterval(function(){
var new_lef = img10.style.left;
var ne = parseInt(new_lef)+60;
// 获得旧值
var o_left = img9.style.left;
// 计算新值
var n_left = parseInt(o_left)+1;
// 将新值赋值回
img9.style.left = n_left+'px';
if (img9.style.left==ne+'px') {
i++;
img9.src = 'img/Plants/PeaBulletHit.gif';
img10.style.opacity = 0.5;
setTimeout(function(){
img9.src = 'img/Plants/PB00.gif';
img10.style.opacity = 1;
img9.style.left = 0;
},100);
// 停止定时器
clearInterval(timr);
}
if (i==8) {
img11.style.display = 'block';
img10.src = 'img/Zombies/Zombie/ZombieLostHead.gif'
img11.style.left = img10.style.left;
setTimeout(function(){
img10.src = 'img/Zombies/Zombie/ZombieDie.gif';
clearInterval(tie);
img8.style.display = 'none';
setTimeout(function(){
img10.style.display = 'none';
},3000)
},3000)
setTimeout(function(){
img11.style.display = 'none';
},1500)
}
if (i==10&&img9.style.left==800+'px') {
img9.style.left = 0;
}
},10);
}
展开
 我来答
yugi111
2018-01-05 · TA获得超过8.1万个赞
知道大有可为答主
回答量:5.1万
采纳率:70%
帮助的人:1.3亿
展开全部
当然控制不住了、因为你的每个setTimeout都没有赋值给变量,再怎么清除也于事无补,一场空啊。。。
更何况不是clearInterval、是clearTimeout
追问
有什么区别??在我这个效果里    clearInterval和clearTimeout没有区别,谢谢,有几个定时器不需清除
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式