【发布时间】:2015-03-07 19:49:26
【问题描述】:
我想将图像更改 6 次以创建骰子改变点数的错觉(一个简单的动画)。但图像不会在 6 次之后停止。我认为 clearInterval 不起作用!不知道为什么
var d = [ "images/dado1.svg",
"images/dado2.svg",
"images/dado3.svg",
"images/dado4.svg",
"images/dado5.svg",
"images/dado6.svg",
];
window.onload = function (){
dado.onclick = move;
}
function move() {
var md = setInterval(mudaDado,500);
}
function mudaDado(){
dado.setAttribute("src",d[time]);
time++;
if(time===6){
clearInterval(md);
}
}
【问题讨论】:
-
md未在您调用clearInterval(md);的范围内定义。在setInterval和clearInterval调用的公共范围内定义md。 -
你在函数内部定义了
md,所以它是一个局部变量。在下一阶段,您尝试将clearInterval用于md,这指的是无处。补充:@FelixKling 先回答了。 -
谢谢!有用。我没注意到
标签: javascript counter setinterval clearinterval