通过键盘上的上下左右按键控制一个盒子在页面上移动,并且解决持续按键盒子会有卡顿的问题

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>div随键盘控制移动</title><style>#box {width: 100px;height: 100px;background-color: aqua;position: absolute;}</style>
</head><body><div id="box"></div><script>var box = document.getElementById("box");var speed = 10;var dir = 0;//首先给给document绑定一个键盘事件document.onkeydown = function(event) {event = event || window.event;//解决IE兼容问题dir = event.keyCode;//测试一下键盘上下左右几个键的值//console.log(event.keyCode);}document.onkeyup = function() {dir = 0;}setInterval(() => {switch (dir) {case 37:box.style.left = box.offsetLeft - speed + "px";break;case 38:box.style.top = box.offsetTop - speed + "px";break;case 39:box.style.left = box.offsetLeft + speed + "px";break;case 40:box.style.top = box.offsetTop + speed + "px";//console.log(box.style.top);break;}}, 30);//利用定时调用方法,解决卡顿问题</script>
</body></html>

键盘控制盒子移动案例相关推荐

  1. html点击控制盒子左右移动,JS实现盒子跟着鼠标移动及键盘方向键控制盒子移动效果示例...

    本文实例讲述了JS实现盒子跟着鼠标移动及键盘方向键控制盒子移动.分享给大家供大家参考,具体如下: 1. 盒子跟着鼠标移动 content="width=device-width, user- ...

  2. Java基础重温_02:运算符、三元运算符案例(2只老虎、3个和尚)、键盘录入(Scanner类)、控制流程语句、控制流程语句案例(奇偶数、考试奖励)

    摘要 Java基础重温_02: 运算符(算术运算.+操作.赋值运算.自增自减.关系运算(比较).逻辑运算.短路逻辑运算.三元运算) 三元运算符案例(2只老虎:2个变量比较.三个和尚:3个变量比较) 键 ...

  3. ROS通信机制--键盘控制乌龟运动线速度角速度XYZ值的解释

    目录 前言 案例实现 线速度角速度X.Y.Z值的取值和作用 (END) 前言 在学习ros之初,想必大家运行的第一个案例就是键盘控制乌龟运动.这是ros内置的小案例,采用的通信机制为话题通信.本文介绍 ...

  4. UE4(unreal Engine)中使用蓝图类Actor创建开关门,并使用鼠标和键盘控制开关门

    UE4系列文章目录 文章目录 UE4系列文章目录 前言 一.具体步骤 (一)自动开关门 (二)使用键盘开关门 (三)使用鼠标开关门 总结 前言 上一节中我们讨论了用蓝图来控制开关门,虽然可以实现效果, ...

  5. ROS小乌龟走设定图形路线(键盘控制+Python代码实现)

    相信在很多人学习ROS的时候都会写一下这个demo,不仅是对代码能力的考察(代码语法.结构都还是相对简单的),还是对ROS话题通信这些基础概念的理解的考量. 首先命令运行 roscore rosrun ...

  6. js通过键盘操控盒子

    js通过键盘操控盒子 步骤 1.键盘按下方向键,可以控制小盒子的移动. 1.1 给谁添加键盘按下事件 document 1.2 如何判断按下的是哪个键键盘事件对象 1.3 如何让小盒子移动 让小盒子绝 ...

  7. 小学计算机课教案认识键盘,小学信息技术《认识键盘》优秀教学案例.docx

    小学信息技术<认识键盘>优秀教学案例 小学信息技术<认识键盘>优秀教学案例 <认识键盘>教学案例 江苏省运河师范学校附属小学 惠祥宁 教学内容 苏教版信息技术教材小 ...

  8. html5 javascript 事件练习3键盘控制练习

    <!DOCTYPE html> <html lang="en"> <head>     <meta charset="UTF-8 ...

  9. 关于nginx信号控制的“故障”案例

    关于nginx信号控制的"故障"案例 最近几天发现nginx的日志老切割不成功,遂来查找问题. 最开始以为是logrotate的脚本问题,遂手动切割,运行以下的命令 logrota ...

最新文章

  1. 为jupyter_notebook增加目录
  2. linux——回射服务器多并发(多进程)
  3. 利用数组实现栈java,用java编写出来:用数组实现一个栈
  4. java createchannel_【原创】java NIO FileChannel 学习笔记 新建一个FileChannel
  5. js 使用image.height和image.width获取图片宽高值为0,获取失败
  6. 介绍一下ISO9000质量标准
  7. 通过阅读器打开ofd格式发票并转为PDF
  8. 一文讲清楚机械硬盘和固态硬盘的工作原理
  9. 笔记本连接显示器后没有声音_电脑连接HDMI电视/显示器后没声音怎么解决
  10. MTK6577+Android之Camera驱动
  11. 怎么查二手苹果手机价格
  12. 香港美国CERA机房你怎么选择?
  13. [Azure][Event hub]Kafka无法同时连接到同一个namespace下的两个Event hub
  14. 【一步步学OpenGL 24】 -《阴影图技术2》
  15. Ubuntu20.04ssh服务器和客户端配置
  16. 作为荣耀脱离华为后的第二代旗舰,荣耀Magic4 Pro是否值得选购?
  17. 目标必须要符合SMART原则
  18. Linux-- rmdir 命令
  19. 【Go】Go 错误处理
  20. Scheduling restart of crashed service解决方案与源码分析

热门文章

  1. ElementUI 图标字体无法正常显示 本地CDN文件
  2. 计算机考研单科成绩要求,考研国家线公布,百分制的单科分数线最低仅31分,研究生好考了?...
  3. 微信模板消息发送成功但显示空白的问题
  4. 编写php自动脚本,自己编写自动签到脚本
  5. VVC中的熵编码-JVET提案Q2002
  6. Mysql ERROR: 1253 解决方法
  7. 完整简洁的Oracle获得汉字字符串拼音首字母和全拼的函数
  8. mysql on是什么意思_这SQL语句里的ON 是什么意思啊
  9. ParameterResolutionException单元测试方法中添加了参数,这是不允许的
  10. python解答蓝桥杯真题2 猜年龄 美国数学家维纳(N.Wiener)智力早熟,11岁就上了大学。他曾在19351936年应邀来中国清华大学讲学。。。