求助,js中停止定时器的时候出现了问题,停不住了 汗....

我刚学js,自己写练习的时候遇到一个问题我写的全部代码如下,就是实现发子弹,移动.定时器在循环让子弹移动函数的时候子弹到达边界消失,然后这个定时器依然在循环这个函数,占用... 我刚学js,自己写练习的时候遇到一个问题我写的全部代码如下,就是实现 发子弹 ,移动
.定时器在循环让子弹移动函数的时候子弹到达边界消失,然后这个定时器依然在循环这个函数,占用资源。我用clearInterval()消除不了了
展开
 我来答
Way_C23
2015-05-25 · 超过15用户采纳过TA的回答
知道答主
回答量:22
采纳率:100%
帮助的人:27.1万
展开全部

你在setInterval的时候会返回一个整数,可以说是这个定时器的id,在clearInterval的时候要把这个id作为参数传入。例如:

var timer = setInterval(function(){ /*do something ...*/},500);
clearInterval(timer);

或者可以用setTimeout来代替setInterval,例如:

setTimeout(function(){

    //do something...

    if(未出边界){

        setTimeout(arguments.callee,500);//还没出边界,所以,再一次定时执行这个匿名函数本身

    }

    //如果判断出了边界,就不用再设置下一次执行了,结束执行

},500);

//希望能帮到你

更多追问追答
追问
怎么把代码想你示例那样贴出来,我想把我的贴出来,让你帮忙看一下
追答
输入框的右上角有没有一个“代码”下拉框,拉下来就可以选择对应的语言
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式