多个setInterval 怎么单独执行
刚入门JS,想做一个“吃豆人”的游戏,默认吃豆人是自己走,用上下左右键控制转向;想要的结果是:每次按下一个方向键转向,都清除之前的自动走,再按这个放下走
但是现在是:按下一个放下键后,会有两个或多个setInterval一起运行;

请问,多个setInterval,要怎么清除之前动作,单独执行一个setInterval..
$(document).keyup(function(e) {
var k=e.which;
if(k==37){
var t1=setInterval(zuo,1000);
return;}
if(k==38){
var t2=setInterval(shang,1000);
return;}
if(k==39){
var t3=setInterval(you,1000);
return;}
if(k==40){
var t4=setInterval(xia,1000);
return;}
t1=clearInterval(t1);
t2=clearInterval(t2);
t3=clearInterval(t3);
t4=clearInterval(t4);
});
但是现在是:按下一个放下键后,会有两个或多个setInterval一起运行;

请问,多个setInterval,要怎么清除之前动作,单独执行一个setInterval..
$(document).keyup(function(e) {
var k=e.which;
if(k==37){
var t1=setInterval(zuo,1000);
return;}
if(k==38){
var t2=setInterval(shang,1000);
return;}
if(k==39){
var t3=setInterval(you,1000);
return;}
if(k==40){
var t4=setInterval(xia,1000);
return;}
t1=clearInterval(t1);
t2=clearInterval(t2);
t3=clearInterval(t3);
t4=clearInterval(t4);
});
...全文
相关推荐
vue setInterval 定时器失效的解决方式
**多个定时器**:如果你的应用中有多个定时器,建议使用不同的数据属性来分别保存它们的ID,以便单独管理。2.
单个时间触发器控制多个点例子
在IT行业中,时间触发器是一种常见机制,用于定期执行特定任务或操作。在这个"单个时间触发器控制多个点例子"中,我们将会探讨如何利用一个单一的时间触发器来管理并控制多个对象的状态计算。
深入理解requestAnimationFrame的动画循环
浏览器在页面需要更新时会触发重绘,当多个requestAnimationFrame 请求时,浏览器只需通知一次,而不是像setTimeout那样每个请求单独绘制。
Android编程实现webview执行loadUrl时隐藏键盘的workround效果
在Android 1.6之前,所有的`AsyncTask`都在主线程执行,之后改为在单独的工作线程中运行,但在Android 3.0之后,为了防止并发问题,`AsyncTask`又回到了序列化执行。
理解javascript定时器中的单线程
**JavaScript引擎的单线程执行**: 当JavaScript代码执行时,它是在一个单独的线程中进行的,称为JavaScript引擎线程。


基础编程
