//正确vartimer=setInterval(函数,毫秒);clearInterval(timer);//不正确vartimer=setInterval(函数,毫秒);clearInterval(setInterval(函数,毫秒))这个视屏的8:25秒试老师说的有问题吧直接用clearInterval(setInterval(函数,毫秒))清除定时器的方式应该是不行的吧?setInterval(函数,毫秒)作为对象下的方法,每次创建的时候引用的地址是不一样的。在clearInterval(setInterval(函数,毫秒))中新建的setInterval(函数,毫秒)方法,与直接在clearInterval()外部写的setInterval(函数,毫秒)内存地址不同应该是不能用clearInterval(setInterval(函数,毫秒))的方式清除的吧?以下是代码测试:无标题文档varaBtn=document.getElementsByTagName('input');vararrUrl=['img/1.jpg','img/2.jpg','img/3.jpg','img/4.jpg'];varnum=0;vartimer=null;varoBody=document.body;aBtn[0].onclick=function(){//clearInterval(timer);//null、未定义setInterval(function(){oBody.style.background='url('+arrUrl[num]+')';num++;num%=arrUrl.length;},1000);};aBtn[1].onclick=function(){clearInterval(setInterval(function(){oBody.style.background='url('+arrUrl[num]+')';num++;num%=arrUrl.length;},1000));//不能用clearInterval(setInterval(函数,毫秒))的方式清除};//oBody.style.background='url('+arrUrl[num]+')';
2 回答
神不在的星期二
TA贡献1963条经验 获得超6个赞
你自己测试了没有?如果你自己测试了,应该就有了答案啊。另外,给你一个小建议,就是在这里提问、回答时,代码用专门的代码标签包裹,这样别人也更容易看清代码。如果不知道什么是代码标签,建议去稍微了解一下markdown语法中代码标签,这里编辑内容是支持markdown的。简单说就是单独行开始用“```”,再单独行开始代码,代码完成后再单独行“```”,注意那个符号是反单引号,一般键盘是在tab键上面的那个点符号,不需要用shift就能输入的。你的理解是正确的。不过因为看不见视频,所以也无从判断是否是错了,仅仅说正常情况下不会这样用,因为这样是无意义的。
qq_笑_17
TA贡献1818条经验 获得超7个赞
1.第一种方法和第二种方法都是可以清除刚创建好的定时器的2.如你所说,在第二种方法了两个定时器的地址是不一样的,第二种方法可以换个写法vartimer=setInterval(函数,毫秒);vartimer1=setInterval(函数,毫秒)clearInterval(timer1)其实是类似vartimer=setInterval(函数,毫秒);vartimer1clearInterval(timer1=setInterval(函数,毫秒))
添加回答
举报
0/150
提交
取消