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 相关文章推荐
jQuery结合Json提交数据到Webservice,并接收从Webservice返回的Json数据
Feb 18 Javascript
JQuery中操作Css样式的方法
Feb 12 Javascript
jQuery判断指定id的对象是否存在的方法
May 22 Javascript
关于JavaScript限制字数的输入框的那些事
Aug 14 Javascript
浅谈angular懒加载的一些坑
Aug 20 Javascript
javascript内存分配原理实例分析
Apr 10 Javascript
基于Vue实现timepicker
Apr 25 Javascript
微信小程序页面生命周期详解
Jan 31 Javascript
Swiper 4.x 使用方法(移动端网站的内容触摸滑动)
May 17 Javascript
对vue下点击事件传参和不传参的区别详解
Sep 15 Javascript
vue-cli3 配置开发与测试环境详解
May 17 Javascript
详解nginx配置vue h5 history去除#号
Nov 09 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
全国FM电台频率大全 - 30 宁夏回族自治区
2020/03/11 无线电
表单复选框向PHP传输数据的代码
2007/11/13 PHP
php中serialize序列化与json性能测试的示例分析
2013/04/27 PHP
php随机抽奖实例分析
2015/03/04 PHP
PHP异常处理浅析
2015/05/12 PHP
Zend Framework教程之Zend_Db_Table_Row用法实例分析
2016/03/21 PHP
THinkPHP获取客户端IP与IP地址查询的方法
2016/11/14 PHP
PHPMailer发送邮件
2016/12/28 PHP
jquery选择器、属性设置用法经验总结
2013/09/08 Javascript
jquery 操作iframe的几种方法总结
2013/12/13 Javascript
javascript实现playfair和hill密码算法
2014/12/07 Javascript
jQuery经过一段时间自动隐藏指定元素的方法
2015/03/17 Javascript
JavaScript中apply方法的应用技巧小结
2016/09/29 Javascript
JS根据生日月份和日期计算星座的简单实现方法
2016/11/24 Javascript
Bootstrap导航条学习使用(一)
2017/02/08 Javascript
js中toString()和String()区别详解
2017/03/23 Javascript
vue2 前后端分离项目ajax跨域session问题解决方法
2017/04/27 Javascript
VueJS 集成 Medium Editor的示例代码 (自定义编辑器按钮)
2017/08/24 Javascript
关于Vue在ie10下空白页的debug小结
2018/05/02 Javascript
Vue页面骨架屏的实现方法
2018/05/22 Javascript
vue基本使用--refs获取组件或元素的实例
2019/11/07 Javascript
js实现贪吃蛇小游戏(加墙)
2020/07/31 Javascript
从列表或字典创建Pandas的DataFrame对象的方法
2019/07/06 Python
详解python中的数据类型和控制流
2019/08/08 Python
用python实现英文字母和相应序数转换的方法
2019/09/18 Python
利用Python如何实时检测自身内存占用
2020/05/09 Python
python 实现&quot;神经衰弱&quot;翻牌游戏
2020/11/09 Python
canvas实现圆绘制的示例代码
2019/09/11 HTML / CSS
香港交友网站:be2香港
2018/07/22 全球购物
学生就业推荐信
2013/11/13 职场文书
大一学生的职业生涯规划书范文
2014/01/19 职场文书
《翻越远方的大山》教学反思
2014/04/13 职场文书
授权委托书公证
2014/09/14 职场文书
幼儿园班级工作总结2015
2015/05/25 职场文书
《家世》读后感:看家训的力量
2019/12/30 职场文书
基于Python和openCV实现图像的全景拼接详细步骤
2021/10/05 Python