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 相关文章推荐
iframe的onload在Chrome/Opera中执行两次Bug的解决方法
Mar 17 Javascript
DOM 事件流详解
Jan 20 Javascript
angular简介和其特点介绍
Jan 29 Javascript
原生JS实现图片轮播与淡入效果的简单实例
Aug 21 Javascript
JS实现自动轮播图效果(自适应屏幕宽度+手机触屏滑动)
Jun 19 Javascript
iframe高度自适应及隐藏滚动条的实例详解
Sep 29 Javascript
canvas+gif.js打造自己的数字雨头像的示例代码
Oct 26 Javascript
vue如何在自定义组件中使用v-model
May 14 Javascript
基于mpvue的小程序项目搭建的步骤
May 22 Javascript
JavaScript事件对象event用法分析
Jul 27 Javascript
Vue实现移动端左右滑动效果的方法
Nov 27 Javascript
详解Vue.js v-for不支持IE9的解决方法
Dec 29 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
dedecms中显示数字验证码的修改方法
2007/03/21 PHP
zf框架的校验器使用使用示例(自定义校验器和校验器链)
2014/03/13 PHP
PHP 获取指定地区的天气实例代码
2017/02/08 PHP
Laravel框架模板继承操作示例
2018/06/11 PHP
PHP PDOStatement::fetchAll讲解
2019/01/31 PHP
如何通过Apache在本地配置多个虚拟主机
2020/07/29 PHP
RGB颜色值转HTML十六进制(HEX)代码的JS函数
2009/04/25 Javascript
表单序列化与jq中的serialize使用示例
2014/02/21 Javascript
jquery实现弹出层遮罩效果的简单实例
2014/03/03 Javascript
引用其它js时如何同时处理多个window.onload事件
2014/09/02 Javascript
D3.js 从P元素的创建开始(显示可加载数据)
2014/10/30 Javascript
JavaScript中number转换成string介绍
2014/12/31 Javascript
js实现兼容IE、Firefox的图片缩放代码
2015/12/08 Javascript
jQuery对象与DOM对象转换方法详解
2016/05/10 Javascript
BootStrap Table 分页后重新搜索问题的解决办法
2016/08/08 Javascript
JS 获取HTML标签内的子节点的方法
2016/09/21 Javascript
JS用斜率判断鼠标进入DIV四个方向的方法
2016/11/07 Javascript
实现一个简单的vue无限加载指令方法
2017/01/10 Javascript
angular.js和vue.js中实现函数去抖示例(debounce)
2018/01/18 Javascript
解决node修改后需频繁手动重启的问题
2018/05/13 Javascript
javascript实现简易聊天室
2019/07/12 Javascript
[03:36]2014DOTA2 TI小组赛综述 八强诞生进军钥匙球馆
2014/07/15 DOTA
使用pytorch和torchtext进行文本分类的实例
2020/01/08 Python
使用Python matplotlib作图时,设置横纵坐标轴数值以百分比(%)显示
2020/05/16 Python
python元组拆包实现方法
2021/02/28 Python
详解使用双缓存解决Canvas clearRect引起的闪屏问题
2019/04/29 HTML / CSS
德国高尔夫商店:Par71.de
2020/11/29 全球购物
主题婚礼策划方案
2014/02/10 职场文书
成立公司计划书
2014/05/07 职场文书
单位活动策划方案
2014/08/17 职场文书
2014年最新大专生职业生涯规划书范文
2014/09/13 职场文书
初中生散播谣言检讨书
2014/11/17 职场文书
2015新学期开学寄语
2015/02/26 职场文书
政协委员个人总结
2015/03/03 职场文书
CSS3实现模糊背景的三种效果示例
2021/03/30 HTML / CSS
请求模块urllib之PYTHON爬虫的基本使用
2022/04/08 Python