Javascript-clearInterval
有人能帮我做clearInterval吗?我已经和它一起工作了几个小时,似乎无法让它工作。我使用的代码与我在W3学校发现的代码非常相似,如下所示: 这里还有一个链接,可查看实际操作:Javascript-clearInterval,javascript,animation,Javascript,Animation,有人能帮我做clearInterval吗?我已经和它一起工作了几个小时,似乎无法让它工作。我使用的代码与我在W3学校发现的代码非常相似,如下所示: 这里还有一个链接,可查看实际操作: 带按钮的绘图图像 开始 停止 window.onload=函数(){ var c=document.getElementById(“myCanvas”); var ctx=c.getContext(“2d”); var img=新图像(); img.src=”http://hyque.com/ani/adam.p
带按钮的绘图图像
开始
停止
window.onload=函数(){
var c=document.getElementById(“myCanvas”);
var ctx=c.getContext(“2d”);
var img=新图像();
img.src=”http://hyque.com/ani/adam.png";
var-xPos=0;
ctx.drawImage(img,0,0,120,182,0,0,120,182);
var el=document.getElementById('startBtn');
el.addEventListener('click',strt,false);
var el2=document.getElementById('stopBtn');
el2.addEventListener('click',stopIt,false);
函数imageXPosition(){
clearRect(0,0,120,182);//这将清除画布
drawImage(img,xPos,0,120,182,0,0,120,182);//绘制各个帧
xPos+=120;//添加宽度
//这将向第二帧添加1
如果(xPos==120){
xPos+=1;
}
如果(xPos>841){xPos=0;}//则在las帧之后重置为0
}
函数strt(){
var intStp=setInterval(imageXPosition,200);
}
函数stopIt(){
净距(intStp);
}
}
您可以查看范围界定:
var intStp;
function strt(){
intStp = setInterval(imageXPosition, 200);
}
function stopIt(){
clearInterval(intStp);
}
函数内部的变量只有在函数结束时才存在,除非它未绑定到内部函数(请参见闭包)
函数不能访问其他函数属性,除非它正在访问外部函数的变量
您可以阅读MDN:JS作用域、函数、变量(主要是:基础)IntStp-variable-in-local-scope-start-function。只需省略var关键字
var intStp
仅在strt()中是局部作用域。您不能在该功能之外访问它。这是一种糟糕的做法。应始终在其适当的作用域内声明有效的变量。谢谢。我想知道这是否是一个范围问题。我想这都是学习过程的一部分。关于学习进度:请将其标记为答案;)(告诉其他助手,你已经满意了…)
var intStp;
function strt(){
intStp = setInterval(imageXPosition, 200);
}
function stopIt(){
clearInterval(intStp);
}
function(){
var a;//a is declared
}
//a is deleted