JavaScript利用键盘码控制div移动


Posted in Javascript onMarch 19, 2020

前言

在生活中肯定有玩过贪吃蛇的游戏,那么要怎么样用键盘码来实现div的移动呢?下面就分享一个Demo。

利用键盘码来控制div移动源码

<!DOCTYPE html>
<html>

 <head>
 <meta charset="UTF-8">
 <title></title>
 <style type="text/css">
 #box {
 height: 100px;
 width: 100px;
 background-color: red;
 position: absolute;
 }
 </style>
 </head>

 <body>
 <!--keyCode 键盘码 在键盘事件发生的时候 记录对应按的哪个键-->
 <div id="box"></div>
 <!--让键盘控制div的移动-->
 <script type="text/javascript">
 var oBox = document.getElementById("box")
 var x = 0
 var y = 0
 document.onkeyup = function(ev) {
 var ev = ev || event
 // 指定方向键 ,w(上-->87),a(左-->83),s(下-->65),d(右-->67)
 // 通过keyCode来识别当前按的是哪个键
 // x += 10
 // oBox.style.left = x +"px"
 // 根据键盘码来确定往哪个方向移动
 switch(ev.keyCode) {
 case 87:
 // 往上移动
 y -= 20
 break
 case 83:
 // 往下移动
 y += 20
 break
 case 65:
 // 
 x -= 20
 break
 case 68:
 x += 20
 break
 default:
 break
 }
 oBox.style.left = x + "px"
 oBox.style.top = y + "px"
 
 }
 </script>
 </body>

</html>

上面就是Demo的所有源码,我们可以通过键盘码来控制div来移动,里面具体的参数可以自己修改。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jQuery实现div浮动层跟随页面滚动效果
Feb 11 Javascript
推荐25个超炫的jQuery网格插件
Nov 28 Javascript
JavaScript数据结构和算法之图和图算法
Feb 11 Javascript
JavaScript动态添加css样式和script标签
Jul 19 Javascript
JS当前页面登录注册框,固定DIV,底层阴影的实例代码
Sep 29 Javascript
Javascript 实现放大镜效果实例详解
Dec 03 Javascript
vue中配置mint-ui报css错误问题的解决方法
Oct 11 Javascript
微信小程序实现长按删除图片的示例
May 18 Javascript
微信小程序实现点赞、取消点赞功能
Nov 02 Javascript
vue cli安装使用less的教程详解
Jul 12 Javascript
详解ES6 CLASS在微信小程序中的应用实例
Apr 24 Javascript
理解JavaScript中的对象
Aug 25 Javascript
js实现百度登录窗口拖拽效果
Mar 19 #Javascript
js实现随机抽奖
Mar 19 #Javascript
js实现抽奖的两种方法
Mar 19 #Javascript
js实现九宫格抽奖
Mar 19 #Javascript
在Vue.js中使用TypeScript的方法
Mar 19 #Javascript
JS实现长图上下滚动效果
Mar 19 #Javascript
JavaScript实现简单计算器
Mar 19 #Javascript
You might like
改德生G88 - 加装等响度低音提升电路
2021/03/02 无线电
谈PHP生成静态页面分析 模板+缓存+写文件
2009/08/17 PHP
php 模拟get_headers函数的代码示例
2013/04/27 PHP
thinkphp中连接oracle时封装方法无法用的解决办法
2013/06/17 PHP
smarty模板局部缓存方法使用示例
2014/06/17 PHP
基于php流程控制语句和循环控制语句(讲解)
2017/10/23 PHP
TP5(thinkPHP5框架)实现显示错误信息及行号功能的方法
2019/06/03 PHP
Laravel框架下载,安装及路由操作图文详解
2019/12/04 PHP
关于js获取radio和select的属性并控制的代码
2011/05/12 Javascript
javascript中不提供sleep功能如何实现这个功能
2014/05/27 Javascript
jQuery中cookie插件用法实例分析
2015/12/04 Javascript
JS组件Bootstrap实现图片轮播效果
2016/05/16 Javascript
15位和18位身份证JS校验的简单实例
2016/07/18 Javascript
vue双向绑定简要分析
2017/03/23 Javascript
Flask中获取小程序Request数据的两种方法
2017/05/12 Javascript
JS实现动态给标签控件添加事件的方法示例
2017/05/13 Javascript
slideToggle+slideup实现手机端折叠菜单效果
2017/05/25 Javascript
Angular中响应式表单的三种更新值方法详析
2017/08/22 Javascript
Js中将Long转换成日期格式的实现方法
2018/06/05 Javascript
Vue路由钩子之afterEach beforeEach的区别详解
2018/07/15 Javascript
vue动态删除从数据库倒入列表的某一条方法
2018/09/29 Javascript
python时间整形转标准格式的示例分享
2014/02/14 Python
一个计算身份证号码校验位的Python小程序
2014/08/15 Python
python轻松实现代码编码格式转换
2015/03/26 Python
python 创建一个空dataframe 然后添加行数据的实例
2018/06/07 Python
对Python实现简单的API接口实例讲解
2018/12/10 Python
解决pycharm每次新建项目都要重新安装一些第三方库的问题
2019/01/17 Python
浅谈python3.6的tkinter运行问题
2019/02/22 Python
Python TCPServer 多线程多客户端通信的实现
2019/12/31 Python
Anaconda配置pytorch-gpu虚拟环境的图文教程
2020/04/16 Python
python中threading和queue库实现多线程编程
2021/02/06 Python
优秀教师的感人事迹
2014/02/04 职场文书
幼儿园父亲节活动方案
2014/03/11 职场文书
学校青年志愿者活动总结
2015/05/06 职场文书
民事起诉书范本
2015/05/19 职场文书
Python+Pillow+Pytesseract实现验证码识别
2022/05/11 Python