JS中用键盘的方向键来移动div(switch...case)
使div随着键盘上下左右键的触发而移动,
思路:获取div,为document绑定键盘按下事件,在事件中使用switch…case来判断键盘按下的是哪一个键,对应的keyCode对应着不同的方向键:
左键被按下:在div现有的坐标值中,left的值减掉对应的值即可,值越大,移动的速度越快。
box.style.left = box.offsetLeft - speed +"px";
上键被按下:在div现有的坐标值中,top的值减掉对应的值即可,值越大,移动的速度越快。
box.style.top = box.offsetTop - speed +"px";
右键被按下:在div现有的坐标值中,left的值加上对应的值即可,值越大,移动的速度越快。
box.style.left = box.offsetLeft + speed +"px";
下键被按下:在div现有的坐标值中,left的值加上对应的值即可,值越大,移动的速度越快。
box.style.top = box.offsetTop + speed +"px";
注意:在修改div的值时,需要在末尾为其拼上“px”,因为div的坐标是靠带px的像素点决定的,而offsetLeft或者offsetTop获取到的是一个Number类型值。
整体的练习代码如下:
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>键盘移动div</title><style type="text/css">#box{width: 100px;height: 100px;position: absolute;background-color: red;}</style><script type="text/javascript">window.onload = function(){var box = document.getElementById("box");document.onkeydown = function(event){// alert("绑定成功");event = event || window.event;// alert(event.keyCode);//定义变量,表示div移动的速度var speed = 10;if(event.ctrlKey){speed += 50;}switch(event.keyCode){case 37 :box.style.left = box.offsetLeft - speed +"px";if(box.offsetLeft < 0){box.offsetLeft = 0 +"px";}break;case 38 :box.style.top = box.offsetTop - speed +"px";if(box.offsetTop < 0){box.offsetTop = 0;}break;case 39 :box.style.left = box.offsetLeft + speed +"px";break;case 40 :box.style.top = box.offsetTop + speed +"px";break; default : return 0;}};};</script>
</head>
<body><div id="box"></div>
</body>
</html>
如果以上的内容对你有帮助,动动小手点个赞吧!
JS中用键盘的方向键来移动div(switch...case)相关推荐
- js实现键盘控制div移动(可加速)_☆往事随風☆的博客
文章目录 前言 一.基本思路 二.代码分析 1.首先为div开启绝对定位 2.为document绑定键盘按下和抬起事件 3.获取对应键盘的Unicode编码 4.设置变量保存速度和键盘Unicode编 ...
- js通过键盘操控盒子
js通过键盘操控盒子 步骤 1.键盘按下方向键,可以控制小盒子的移动. 1.1 给谁添加键盘按下事件 document 1.2 如何判断按下的是哪个键键盘事件对象 1.3 如何让小盒子移动 让小盒子绝 ...
- js检测键盘组合键,禁止F12
js检测键盘组合键ctrl+p js检测键盘组合键ctrl+d js检测键盘组合键ctrl+s js禁止F12 体验地址:点击在线体验 <!DOCTYPE html> <html l ...
- java 图片 运动_怎么在GUI中用键盘控制图片运动?java问题?
怎么在GUI中用键盘控制图片运动?java问题? 关注:174 答案:3 mip版 解决时间 2021-01-17 01:03 提问者落叶.牵绊着思念 2021-01-16 09:43 怎么在GU ...
- 在js中用图片显示当前时间
在js中用图片显示当前时间 <!DOCTYPE html><html lang="en"><head><meta charset=&quo ...
- Cygwin复制,粘贴 直接用鼠标在黑框上选区即可,选区结束就已经复制了。cygwin里面Ctrl+V是不能粘贴的,用Shfit+ Insert(键盘上下左右方向键的上面) Cygwin 下切换目
Cygwin复制,粘贴 直接用鼠标在黑框上选区即可,选区结束就已经复制了.cygwin里面Ctrl+V是不能粘贴的,用Shfit+ Insert(键盘上下左右方向键的上面) Cygwin 下切换目录略 ...
- selenium java 滚动条_java+selenium使用JS、键盘滑动滚动条
本篇文章介绍如何使用JS和键盘对象对页面进行滑动滚动条-------------主要针对java做自动化测试的同学 一:使用键盘对象操作滚动条 //导包 importorg.openqa.seleni ...
- php解析api xml并输出到html页面,怎样操作JS读取xml内容并输出到div内
这次给大家带来怎样操作JS读取xml内容并输出到div内,操作JS读取xml内容并输出到div内的注意事项有哪些,下面就是实战案例,一起来看一下. note.xml文件结构: George John ...
- php接收键盘事件,js获取键盘事件的方法实例
本文主要和大家分享js获取键盘事件的方法实例,希望能帮助到大家. document.οnkeydοwn=function(event){ var e = event || window.event | ...
最新文章
- 012 动态调试smali代码
- PHP提取中文首字母
- html5表白页面3d,七夕节表白3d相册制作(html5+css3)
- [Fatal Error] :3:13: Open quote is expected for attribute {1} associated with an element type i...
- pyppeteer-比 selenium 更高效的爬虫利器
- 网易游戏:游戏测试是一个怎样的行业?
- 关于美图秀秀的flash在线版
- RapidShare 真实链接抓取助手
- 11月全国程序员平均工资出炉,网友:我丢了同行的脸
- 大学毕业生,关于转正定级和干部身份你懂吗?
- Android 热补丁动态修复
- android gridview textview,gogo体育官方网站-gogo体育官方网站
- 或且非 java_Java且或非的符号
- video.js 自定义播放组件
- 仿微信翻译----本地短信翻译。
- 开启mongodb数据库命令行_MongoDB服务启动命令及DB创建
- Nginx 配置上传文件大小限制
- 你妈给你介绍对象,你说自己new一个 | 程序员母亲节快乐
- android 头像简称,Android环信显示头像及昵称的简单方法
- java房地产销售系统javaweb-sqlservice