JS实现盒子跟着鼠标移动及键盘方向键控制盒子移动效果示例


Posted in Javascript onJanuary 29, 2019

本文实例讲述了JS实现盒子跟着鼠标移动及键盘方向键控制盒子移动。分享给大家供大家参考,具体如下:

1. 盒子跟着鼠标移动

<!doctype html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport"
     content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>
  <style>
  *{
    margin:0;
    padding:0;
  }
    div{
      width: 100px;
      height: 100px;
      background: red;
      position: absolute;
    }
  </style>
</head>
<body>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<script>
  document.onmousemove=function fn(ev) {
    var event=window.event||ev;
    var oDiv=document.getElementsByTagName("div");
    for(x=0;x<oDiv.length;x++){
      oDiv[x].style.transition=(x*0.5)+"s";
      oDiv[x].style.left=event.clientX+"px";
      oDiv[x].style.top=event.clientY+"px";
    }
  }
</script>
</body>
</html>

2. 键盘方向键控制盒子移动

<html>
<head>
  <meta charset="utf-8" />
  <style type="text/css">
    div{
      width:100px;
      height:100px;
      background: red;
      position:absolute;
      left:100px;
      top:100px;
      transition: 0.1s;
    }
  </style>
  <script>
        window.onload = function(){
      var oDiv = document.getElementById("div1");
      var left = false;
      var right = false;
      var top = false;
      var bottom = false;
      document.onkeydown = function(ev){
        var oEvent = ev || event;
        var keyCode = oEvent.keyCode;
        switch(keyCode){
          case 37:
            left=true;
            break;
          case 38:
            top=true;
            break;
          case 39:
            right=true;
            break;
          case 40:
            bottom=true;
            break;
        }
      };
      setInterval(function(){
        if(left){
          oDiv.style.left = oDiv.offsetLeft-10+"px";
        }else if(top){
          oDiv.style.top = oDiv.offsetTop-10+"px";
        }else if(right){
          oDiv.style.left = oDiv.offsetLeft+10+"px";
        }else if(bottom){
          oDiv.style.top = oDiv.offsetTop+10+"px";
        }
      },50);
      document.onkeyup = function(ev){
        var oEvent = ev || event;
        var keyCode = oEvent.keyCode;
        switch(keyCode){
          case 37:
            left=false;
            break;
          case 38:
            top=false;
            break;
          case 39:
            right=false;
            break;
          case 40:
            bottom=false;
            break;
        }
      }
    }
  </script>
</head>
<body>
<div id="div1"></div>
</body>
</html>

感兴趣的朋友可以使用在线HTML/CSS/JavaScript代码运行工具:http://tools.3water.com/code/HtmlJsRun测试一下运行效果。

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
JavaScript 一道字符串分解的题目
Aug 03 Javascript
jquery插件lazyload.js延迟加载图片的使用方法
Feb 19 Javascript
JavaScript学习笔记之Function对象
Jan 22 Javascript
javascript嵌套函数和在函数内调用外部函数的区别分析
Jan 31 Javascript
React Native 截屏组件的示例代码
Dec 06 Javascript
Angular实现的日程表功能【可添加及隐藏显示内容】
Dec 27 Javascript
JS实现多物体运动的方法详解
Jan 23 Javascript
Egg.js 中 AJax 上传文件获取参数的方法
Oct 10 Javascript
JS获取当前时间的实例代码(昨天、今天、明天)
Nov 13 Javascript
React中this丢失的四种解决方法
Mar 12 Javascript
vue data变量相互赋值后被实时同步的解决步骤
Aug 05 Javascript
基于JavaScript实现大文件上传后端代码实例
Aug 18 Javascript
JS实现的类似微信聊天效果示例
Jan 29 #Javascript
vue实现form表单与table表格的数据关联功能示例
Jan 29 #Javascript
vue input实现点击按钮文字增删功能示例
Jan 29 #Javascript
详解基于webpack&amp;gettext的前端多语言方案
Jan 29 #Javascript
vue实现父子组件之间的通信以及兄弟组件的通信功能示例
Jan 29 #Javascript
vue实现的下拉框功能示例
Jan 29 #Javascript
angular4中引入echarts的方法示例
Jan 29 #Javascript
You might like
PHP安装攻略:常见问题解答(三)
2006/10/09 PHP
PHP在线生成二维码(google api)的实现代码详解
2013/06/04 PHP
如何在smarty中增加类似foreach的功能自动加载数据
2013/06/26 PHP
PHP Session 变量的使用方法详解与实例代码
2013/09/11 PHP
smarty模板引擎之配置文件数据和保留数据
2015/03/30 PHP
php实现的xml操作类
2016/01/15 PHP
PHP基于XMLWriter操作xml的方法分析
2017/07/17 PHP
laravel高级的Join语法详解以及使用Join多个条件
2019/10/16 PHP
PHP常用header头定义代码示例汇总
2020/08/29 PHP
PHP http请求超时问题解决方案
2020/11/13 PHP
php远程请求CURL实例教程(爬虫、保存登录状态)
2020/12/10 PHP
用JQUERY增删元素的代码
2012/02/14 Javascript
JS获取农历日期具体实例
2013/11/14 Javascript
jQuery 计算iframe 窗口大小的方法
2014/05/13 Javascript
JavaScript 实现打印,打印预览,打印设置
2014/12/30 Javascript
JavaScript判断是否为数组的3种方法及效率比较
2015/04/01 Javascript
JavaScript与HTML的结合方法详解
2015/11/23 Javascript
jquery中封装函数传递当前元素的方法示例
2017/05/05 jQuery
vue内置指令详解
2018/04/03 Javascript
vue-cli项目代理proxyTable配置exclude的方法
2018/09/20 Javascript
[02:03]《现实生活中的DOTA2》—林书豪&DOTA2职业选手出演短片
2015/08/18 DOTA
python自然语言编码转换模块codecs介绍
2015/04/08 Python
python2.7的编码问题与解决方法
2016/10/04 Python
Sanic框架流式传输操作示例
2018/07/18 Python
ubuntu 安装pyqt5和卸载pyQt5的方法
2020/03/24 Python
html5实现的便签特效(实战分享)
2013/11/29 HTML / CSS
HTML5 解决苹果手机不能自动播放音乐问题
2017/12/27 HTML / CSS
数控专业个人求职信范文
2014/02/05 职场文书
函授自我鉴定范文
2014/02/06 职场文书
服务标兵事迹材料
2014/05/04 职场文书
超市仓管员岗位职责范本
2014/09/18 职场文书
报案材料怎么写
2015/05/25 职场文书
2015年社区党建工作汇报材料
2015/06/25 职场文书
2016新年年会主持词
2015/07/06 职场文书
检举信的写法
2019/04/10 职场文书
创业计划书之青年旅馆
2019/09/23 职场文书