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 相关文章推荐
javascript引导程序
Oct 26 Javascript
javascript 操作select下拉列表框的一点小经验
Mar 20 Javascript
JavaScript动态加载样式表的方法
Mar 21 Javascript
Bootstrap每天必学之js插件
Nov 30 Javascript
BootStrap智能表单实战系列(十一)级联下拉的支持
Jun 13 Javascript
AngularJS服务service用法总结
Dec 13 Javascript
详解从新建vue项目到引入组件Element的方法
Aug 29 Javascript
微信小程序倒计时功能实例代码
Jul 17 Javascript
vue watch关于对象内的属性监听
Apr 22 Javascript
javscript 数组扁平化的实现
Feb 03 Javascript
Vue 同步异步存值取值实现案例
Aug 05 Javascript
JS实现放大镜效果
Sep 21 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
无数据库的详细域名查询程序PHP版(3)
2006/10/09 PHP
php中单个数据库字段多列显示(单字段分页、横向输出)
2014/07/28 PHP
PHP中实现crontab代码分享
2015/03/26 PHP
smarty模板引擎基础知识入门
2015/03/30 PHP
PHP使用zlib扩展实现GZIP压缩输出的方法详解
2018/04/09 PHP
PHP实现的日历功能示例
2018/09/01 PHP
PHP 8新特性简介
2020/08/18 PHP
jQuery EasyUI API 中文文档 - Panel面板
2011/09/30 Javascript
jquery在Chrome下获取图片的长宽问题解决
2013/03/20 Javascript
jQuery避免$符和其他JS库冲突的方法对比
2014/02/20 Javascript
分享20款美化网站的 jQuery Lightbox 灯箱插件
2014/10/10 Javascript
js实现iframe自动自适应高度的方法
2015/02/17 Javascript
JS+CSS实现下拉列表框美化效果(3款)
2015/08/15 Javascript
JS在onclientclick里如何控制onclick的执行
2016/05/30 Javascript
用JS实现简单的登录验证功能
2017/07/28 Javascript
五步轻松实现JavaScript HTML时钟效果
2020/03/25 Javascript
微信公众号H5支付接口调用方法
2019/01/10 Javascript
小程序卡片切换效果组件wxCardSwiper的实现
2020/02/13 Javascript
js对象属性名驼峰式转下划线的实例代码
2020/09/17 Javascript
vue2和vue3的v-if与v-for优先级对比学习
2020/10/10 Javascript
[01:28:31]《加油DOTA》真人秀 第五期
2014/09/01 DOTA
Python实现字符串与数组相互转换功能示例
2017/09/22 Python
对python字典元素的添加与修改方法详解
2018/07/06 Python
python 定时任务去检测服务器端口是否通的实例
2019/01/26 Python
Python序列化与反序列化pickle用法实例
2019/11/11 Python
Python可变对象与不可变对象原理解析
2020/02/25 Python
使用Python将语音转换为文本的方法
2020/08/10 Python
python 带时区的日期格式化操作
2020/10/23 Python
基于Python采集爬取微信公众号历史数据
2020/11/27 Python
美国唇部护理专家:Sara Happ
2019/06/19 全球购物
Linux文件操作命令都有哪些
2016/07/23 面试题
群众路线表态发言材料
2014/10/17 职场文书
先进单位事迹材料
2014/12/25 职场文书
2015年简历自我评价范文
2015/03/11 职场文书
关于法制教育的宣传语
2015/07/13 职场文书
vue实现列表拖拽排序的示例代码
2022/04/08 Vue.js