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使用cookie
Feb 02 Javascript
基于jquery实现的服务器验证控件的启用和禁用代码
Apr 27 Javascript
php跨域调用json的例子
Nov 13 Javascript
js正则表达式中exec用法实例
Jul 23 Javascript
jQuery中$.ajax()和$.getJson()同步处理详解
Aug 12 Javascript
AngularJS 整理一些优化的小技巧
Aug 18 Javascript
浅谈JS中的!=、== 、!==、===的用法和区别
Sep 24 Javascript
javascript正则表达式模糊匹配IP地址功能示例
Jan 06 Javascript
js canvas实现擦除效果示例代码
Apr 26 Javascript
vue 页面加载进度条组件实例
Feb 05 Javascript
Auto.js自动收取自己和好友蚂蚁森林能量脚本
Jun 28 Javascript
Vue项目中使用better-scroll实现菜单映射功能方法
Sep 11 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中文件上传的安全问题
2006/10/09 PHP
JpGraph php柱状图使用介绍
2011/08/23 PHP
无需重新编译php加入ftp扩展的解决方法
2013/02/07 PHP
ThinkPHP模板中数组循环实例
2014/10/30 PHP
SESSION存放在数据库用法实例
2015/08/08 PHP
php析构函数的简单使用说明
2015/08/24 PHP
php使用GD2绘制几何图形示例
2017/02/15 PHP
jQuery实用基础超详细介绍
2013/04/11 Javascript
node.js中的fs.lchmodSync方法使用说明
2014/12/16 Javascript
JavaScript中的事件委托及好处
2016/07/12 Javascript
Js查找字符串中出现次数最多的字符及个数实例解析
2016/09/05 Javascript
JS 根据子网掩码,网关计算出所有IP地址范围示例
2020/04/23 Javascript
jQuery中DOM节点删除之empty与remove
2017/01/20 Javascript
Vue服务器渲染Nuxt学习笔记
2018/01/31 Javascript
微信小程序实现无限滚动列表
2020/05/29 Javascript
vue 解决setTimeOut和setInterval函数无效报错的问题
2020/07/30 Javascript
js 压缩图片的示例(只缩小体积,不更改图片尺寸)
2020/10/21 Javascript
Python 初始化多维数组代码
2008/09/06 Python
python中实现指定时间调用函数示例代码
2017/09/08 Python
python实现随机森林random forest的原理及方法
2017/12/21 Python
python Celery定时任务的示例
2018/03/13 Python
Django中STATIC_ROOT和STATIC_URL及STATICFILES_DIRS浅析
2018/05/08 Python
深入理解Python中的 __new__ 和 __init__及区别介绍
2018/09/17 Python
几行Python代码爬取3000+上市公司的信息
2019/01/24 Python
python多线程同步之文件读写控制
2021/02/25 Python
Python多线程thread及模块使用实例
2020/04/28 Python
一款纯css3实现的tab选项卡的实列教程
2014/12/11 HTML / CSS
html5+css如何实现中间大两头小的轮播效果
2018/12/06 HTML / CSS
科沃斯机器人官网商城:Ecovacs
2016/08/29 全球购物
联想德国官网:Lenovo Germany
2018/07/04 全球购物
一套英文Java笔试题面试题
2016/04/21 面试题
信贷客户经理岗位职责
2015/04/09 职场文书
班干部学习委员竞选稿
2015/11/20 职场文书
禁毒心得体会范文
2016/01/15 职场文书
JavaScript中document.activeELement焦点元素介绍
2021/11/27 Javascript
Python测试框架pytest核心库pluggy详解
2022/08/05 Golang