JS实现可以用键盘方向键控制的动画


Posted in Javascript onDecember 11, 2020

用JS写一个可以用键盘方向键控制的动画:

效果如下:

JS实现可以用键盘方向键控制的动画

好了,代码如下:

<!DOCTYPE html>
<html lang="en">

<head>
 <meta charset="UTF-8">
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <meta http-equiv="X-UA-Compatible" content="ie=edge">
 <title>Document</title>
 <style>
  body {
   overflow: hidden
  }
  
  img {
   position: absolute;
   top: 0;
   left: 10px;
   width: 100px;
   height: 82px
  }
  
  .right {
   transform: rotateY(180deg)
  }
  
  .top {
   transform: rotateZ(45deg)
  }
  
  .bottom {
   transform: rotateZ(-45deg)
  }
 </style>
</head>

<body>
 <img src="./img//Blue ocean11.png" alt="" class="move-background">
 <script>
  var oImg = document.querySelector("img");

  /* 思路: */
  /* 监听键盘的事件(<- -> 上 下) */
  document.onkeydown = function(e) {
   e = e || window.event;

   var code = e.which || e.keyCode;
   var offset = 10;
   switch (code) {
    case 37:
     console.log("left");
     console.log('innerWidth',innerWidth,oImg.offsetLeft);
     oImg.className = "";
     var left = oImg.offsetLeft - offset;
     if (left <= -oImg.offsetWidth) {
      left = window.innerWidth;
     }
     oImg.style.left = left + "px";
     break;
    case 38:
     console.log("top");
     oImg.className = "top";
     var top = oImg.offsetTop - offset;
     if (top <= -oImg.offsetHeight) {
      top = window.innerHeight;
     }
     oImg.style.top = top + "px";
     break;
    case 39:
     console.log("right");
     oImg.className = "right";
     var left = oImg.offsetLeft + offset;
     if (left >= window.innerWidth) {
      left = -oImg.offsetWidth;
     }
     oImg.style.left = left + "px";
     break;
    case 40:
     console.log("bottom");
     oImg.className = "bottom";
     var top = oImg.offsetTop + offset;
     if (top >= window.innerHeight) {
      top = -oImg.offsetHeight;
     }
     oImg.style.top = top + "px";
     break;
    default:
     break;
   }

   /* 临界值检查 */
  }
 </script>
</body>

</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Mozilla中显示textarea中选择的文字
Sep 07 Javascript
如何在一个页面显示多个百度地图
Apr 07 Javascript
JS仿百度搜索自动提示框匹配查询功能
Nov 21 Javascript
js自定义鼠标右键的实现原理及源码
Jun 23 Javascript
表单验证插件Validation应用的实例讲解
Oct 10 Javascript
第五篇Bootstrap 排版
Jun 21 Javascript
JQ选择器_选择同类元素的第N个子元素的实现方法
Sep 08 Javascript
Bootstrap中glyphicons-halflings-regular.woff字体报404错notfound的解决方法
Jan 19 Javascript
bootstrap多层模态框滚动条消失的问题
Jul 21 Javascript
node.js express框架实现文件上传与下载功能实例详解
Oct 15 Javascript
JavaScript 替换所有匹配内容及正则替换方法
Feb 12 Javascript
JS实现随机点名器
Apr 12 Javascript
JS实现京东商品分类侧边栏
Dec 11 #Javascript
vue使用exif获取图片经纬度的示例代码
Dec 11 #Vue.js
vue使用exif获取图片旋转,压缩的示例代码
Dec 11 #Vue.js
一行JavaScript代码如何实现瀑布流布局
Dec 11 #Javascript
react中hook介绍以及使用教程
Dec 11 #Javascript
js实现菜单跳转效果
Dec 11 #Javascript
jquery实现拖拽小方块效果
Dec 10 #jQuery
You might like
初次接触php抽象工厂模式(Elgg)
2010/03/21 PHP
跟随鼠标旋转的文字
2006/11/30 Javascript
javascript学习笔记(九)javascript中的原型(prototype)及原型链的继承方式
2011/04/12 Javascript
用JQuery模仿淘宝的图片放大镜显示效果
2011/09/15 Javascript
jquery中获取元素里某一特定子元素的代码
2014/12/02 Javascript
使用jQuery制作浮动工具栏的实例分享
2016/05/13 Javascript
Angularjs 自定义服务的三种方式(推荐)
2016/08/02 Javascript
AngularJS 实现JavaScript 动画效果详解
2016/09/08 Javascript
javascript十六进制数字和ASCII字符之间的转换方法
2016/12/27 Javascript
Web技术实现移动监测的介绍
2017/09/18 Javascript
bootstrap datepicker的基本使用教程
2019/07/09 Javascript
Postman内建变量常用方法实例解析
2020/07/28 Javascript
three.js 利用uv和ThreeBSP制作一个快递柜功能
2020/08/18 Javascript
Python编写屏幕截图程序方法
2015/02/18 Python
约瑟夫问题的Python和C++求解方法
2015/08/20 Python
详谈套接字中SO_REUSEPORT和SO_REUSEADDR的区别
2018/04/28 Python
详解python持久化文件读写
2019/04/06 Python
通过Python编写一个简单登录功能过程解析
2019/09/04 Python
Python利用matplotlib绘制约数个数统计图示例
2019/11/26 Python
python使用ctypes调用扩展模块的实例方法
2020/01/28 Python
Python Scrapy框架:通用爬虫之CrawlSpider用法简单示例
2020/04/11 Python
Python requests HTTP验证登录实现流程
2020/11/05 Python
pycharm 实现调试窗口恢复
2021/02/05 Python
CSS3实现菜单悬停效果
2020/11/17 HTML / CSS
Html5实现如何在两个div元素之间拖放图像
2013/03/29 HTML / CSS
碧欧泉美国官网:Biotherm美国
2016/08/31 全球购物
加拿大知名的国际儿童品牌:Hatley
2016/11/09 全球购物
美国在线轮胎零售商:SimpleTire
2019/04/08 全球购物
教育专业毕业生推荐信
2014/07/10 职场文书
助学贷款贫困证明
2014/09/23 职场文书
2014院党委领导班子对照检查材料思想汇报
2014/09/24 职场文书
骨干教师事迹材料
2014/12/17 职场文书
2015年七夕情人节活动方案
2015/05/06 职场文书
挂职锻炼工作总结2015
2015/05/28 职场文书
举起手来观后感
2015/06/09 职场文书
MySQL 存储过程的优缺点分析
2021/05/20 MySQL