Javascript:为什么我可以't清除我的对象行为中的超时
Javascript: Why I can't clearTimeout in my object behavior?
我已经解决了很多小时,但我不知道为什么我不能解决它。我有以下代码:
var Timer_Tick;
var Game_Engine = {
//Set the min and sec of the timer by default is 2 min
min:1,
sec:60,
star_count: 0,
tongue_count: 0,
time: '',
star1: '',
star2: '',
star3: '',
star_bar: '',
tongue_bar: '',
frog: '',
bug: '',
flower: '',
Timer: function () {
//Start Timer
var that = this;
var stop = function () { that.stopTimer(); };
Timer_Tick = setTimeout(function () {
var Time = new Date(0, 0, 0, 0, that.min, that.sec--).toTimeString().slice(3,8);
that.time.text = Time;
console.log(that.min + ':' + that.sec);
if (that.min === 1 && that.sec === 40) {
that.bug.gotoAndPlay('take_photo');
that.flower.onPress = null;
stop();
}
else if (that.min === 1 && that.sec === -60) {
that.stopTimer();
//clearTimeout(Timer_Tick);
that.time.text = '00:00';
createjs.Tween.get(that.bug, { loop: false }).to({ y: that.bug.y + 100 }, 400, createjs.Ease.linear);
setTimeout(function () {
that.bug.gotoAndPlay('bite');
setTimeout(function () {
that.flower.gotoAndPlay('broken_flower');
that.frog.gotoAndPlay('lose');
}, 200);
createjs.Tween.get(that.bug, { loop: false }).wait(500).to({ x: 200, y: -100 }, 6000, createjs.Ease.linear);
}, 400);
}
that.Timer();
}, 100);
},
stopTimer: function () {
//Pause or stop Timer
clearTimeout(Timer_Tick);
}
};
我已经放置了debugger
,以确定我的事件是否被触发。结果是,它按预期正确启动,但计时器不会停止并永远运行。有人能帮我吗?我现在真的需要你的帮助。我是javascript的新手:)。提前感谢。
在计时器函数中调用stop后,尝试添加"return false;"。现在我想你会停止定时器,但你会在函数的底部再次启动它。
if (that.min === 1 && that.sec === 40) {
that.bug.gotoAndPlay('take_photo');
that.flower.onPress = null;
stop();
return false;
}
相关文章:
- 如何使用ng repeat中的选定输入更新我的对象
- Javascript对象/原型.我的理解错了吗
- 在我的例子中,如何将对象推入数组
- 我如何使用D3来强制用户点击g.node对象内部的圆形对象
- JSON.stringify正在忽略我的嵌套对象
- 是我的第三方JavaScript返回html还是只是一个空对象
- 如何让我的正则表达式代码在我的dojo cellWidget对象上工作
- 我的函数不会返回要保存在数组中的对象
- 我的 AJAX 请求对象无法正确解析 URL 的协议部分
- 在我的上下文中添加对象的动态方法
- 为什么我的猫鼬对象 Id 请求返回一个空数组
- 所以这是说我的法定对象中有一个未定义的变量
- 使用窗口对象练习我的对象文字函数
- 我可以设置这个吗'某事'在该服务中动态创建的嵌套对象中的服务?(可能是范围问题)
- 我的代码给了我一条错误消息:GetElementById()为null或不是对象
- 将变量的值分配给我的对象标识符 JSON
- 为什么我的Date对象返回当前日期
- 我可以't返回我的json对象
- 我的Javascript对象继承自什么
- AngularJS element.find更改了我的对象