按键盘的上下左右按钮-->div移动

<body><div id="ok"></div>
</body>
<script>var dOk = document.getElementById("ok");window.onkeydown = function (e) {var l = dOk.offsetLeft;var t = dOk.offsetTop;if (e.keyCode === 37) {l -= 5;} else if (e.keyCode === 38) {t -= 5;} else if (e.keyCode === 39) {l += 5;} else if (e.keyCode === 40) {t += 5;}dOk.style.left = l + 'px';dOk.style.top = t + 'px';}
</script>

这样写按上下左右键div盒子运动不自然,而且只能直上直下不能斜着走。

<script>
//合适的打开方式:计时器+状态//计时器var timer = null;//状态var isLeft = false;var isTop = false;var isRight = false;var isBottom = false;//键盘事件只修改状态window.onkeydown = function (e) {if (e.keyCode === 37) {isLeft = true;} else if (e.keyCode === 38) {isTop = true;}else if (e.keyCode === 39) {isRight = true;}else if (e.keyCode === 40) {isBottom = true;}}window.onkeyup = function (e) {if (e.keyCode === 37) {isLeft = false;} else if (e.keyCode === 38) {isTop = false;}else if (e.keyCode === 39) {isRight = false;}else if (e.keyCode === 40) {isBottom = false;}}//通过计时器实现移动timer = setInterval(function () {var l = dOk.offsetLeft;var t = dOk.offsetTop;//每个方向都得判断if (isLeft) { l -= 5; }if (isTop) { t -= 5; }if (isRight) { l += 5; }if (isBottom) { t += 5; }dOk.style.left = l + 'px';dOk.style.top = t + 'px';}, 30)
</script>

运用计时器和状态结合,这样盒子即可以直上直下也可斜着运动了

JavaScript--键盘控制div移动相关推荐

  1. js实现键盘控制div移动(可加速)_☆往事随風☆的博客

    文章目录 前言 一.基本思路 二.代码分析 1.首先为div开启绝对定位 2.为document绑定键盘按下和抬起事件 3.获取对应键盘的Unicode编码 4.设置变量保存速度和键盘Unicode编 ...

  2. c语言键盘移动解决停顿问题,原生js实现键盘控制div移动且解决停顿问题

    首先说明下为什么会停顿? 效果 :用键盘控制一个div移动 当按下一个方向键不放,div会先停顿一下,然后才开始持续移动. 原因:系统要区分用户是否连续输入,第一个到第二个之间有一个停顿时间 注:了解 ...

  3. JavaScript或jQuery中使用键盘控制对象运动

    <div id="monkey"><img src="img/monkey.png" ></div> 在JavaScript ...

  4. html5 javascript 事件练习3键盘控制练习

    <!DOCTYPE html> <html lang="en"> <head>     <meta charset="UTF-8 ...

  5. JavaScript基础14-day16【事件委派、事件绑定、事件传播、滚轮事件、键盘事件、键盘移动div】

    学习地址: 谷粒学院--尚硅谷 哔哩哔哩网站--尚硅谷最新版JavaScript基础全套教程完整版(140集实战教学,JS从入门到精通) JavaScript基础.高级学习笔记汇总表[尚硅谷最新版Ja ...

  6. html页面按钮隐藏div显示,javascript 控制 DIV等html元素的显示和隐藏

    1.编写 js函数 function display(id){ var traget=document.getElementById(id); if(traget.style.display==&qu ...

  7. JavaScript-定时器解决卡顿问题- 键盘控制移动div

    demo: 用键盘上下左右键子,控制div 上下左右移动. 不加定时器的时候会感觉移动的时候有卡顿现象, 可以通过定时器来解决. <!DOCTYPE html> <html lang ...

  8. JQuery键盘控制图片

    JQuery键盘控制图片 <html><head><meta charset="UTF-8"><title></title&g ...

  9. 利用键盘控制小方块的移动

    原理 1. 利用键盘控制移动,则需要了解onkeydown函数,表示某个按键被按下,可以以此绑定一个事件响应函数,当键盘被按下时候,触发此事件,进行移动 2. keyCode 对于keypress 事 ...

  10. javascript + css 利用div的scroll属性让TAB动感十足

    做了一个动感十足的TAB不敢独占,写出来大家共享,大家可以到宝宝孕历首页看看效果. 其实现是通过js控制div的scrollLeft属性来实现的,tab分成两个部分tab头部分和tab体部分,tab体 ...

最新文章

  1. 尖峰 mysql 源码方向_MySql轻松入门系列————第一站 从源码角度轻松认识mysql整体框架图...
  2. VB6 通过winsock控件数组实现客户端和服务器多对一通信
  3. mysql语句的执行顺序_SQL语句完整的执行顺序(02)
  4. 大工19春《计算机原理》在线作业2,大工19春《计算机原理》在线作业2.pdf
  5. LeetCode MySQL 1355. 活动参与者(any函数)
  6. java 动态加载jni_JNI静态注册与动态注册详解
  7. [傅里叶变换及其应用学习笔记] 二十二. 快速傅里叶变换
  8. 【网络安全】数据加密标准(DES算法)详细介绍( 分组密码、Feistel密码结构、轮函数、子密钥生成算法)
  9. 如何使用PM2 部署 nodejs 项目
  10. python与爬虫-02复杂的HTML解析
  11. java中IO流体系以及常用实现类
  12. MacTeX的使用心得
  13. 互联网金融借款违约预测
  14. Rabbitmq交换机详解
  15. 【磁力链接】专用链接双向转化
  16. rpm和yum命令的区别
  17. IDEA eval reset
  18. 集美大学计算机工程学院考研科目,集美大学考研专业目录
  19. 系统工程 软件工程(第三版)SCAU
  20. [博客园广州俱乐部活动通知]Windows 7社区发布(2009-10-24)

热门文章

  1. C语言|《C Primer Plus》|数据类型
  2. php linux重新写路由器,通过php脚本重启路由器
  3. JavaScript数组属性和方法
  4. win10的创建还原点系统恢复和dism++的系统备份和恢复比较
  5. RE:从零开始的算法之路第六章
  6. JavaScript正负运算符
  7. 苹果手机测试腿长软件,抖音测腿长特效功能在哪里 量长度app测距离软件推荐...
  8. 国网项目汇总(ECP)
  9. 第四届“橙瓜网络文学奖”暨见证·网络文学20年评选各类型十佳大神入围名单
  10. Web网站中利用JavaScript中ActiveXObject对象获取硬件信息(显示器数量、分辨率)从而进行单双屏跳转...