javascript定时器的一个问题。。

我弄了一个按钮,一个是移动,一个是停止。

当我点击移动时,人物开始移动,点击暂停,人物停止移动。

上面用的是js的定时器实现的。

然后我不断重复移动、暂停,然后人物移动的速度就超快了,为什么?怎么解决??

3Q!

第1个回答  2014-05-08
在绑定定时器时,需要判断当前对象是否已经被绑定。如果已经绑定,则跳过。这样就不会造成多处绑定,从而避免你说的状况。
例如:
var timer=null;

$("#btn_Start").click(function(){
if(timer==null){
timer=setInterval(function(){
// todo:your code

},1000);

}

});

$("#btn_Stop").click(function(){
if(timer!=null){
clearInterval(timer);

}

});
第2个回答  2014-05-08
有什么为什么,你每一次点击都新建一个定时器,每一个定时器都操作对象的移动,能不快吗?

解决方法 :无论是什么时候点击都只出现一个定时器....如果第一次未完成 就点击第二次的话.别再生成新的定时器,直接调用回原来的...本回答被网友采纳
相似回答