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 相关文章推荐
xml 与javascript结合的问题解决方法
Mar 24 Javascript
firefox和IE系列的相关区别整理 以备后用
Dec 28 Javascript
js页面跳转常用的几种方式
Nov 25 Javascript
当jQuery遭遇CoffeeScript的时候 使用分享
Sep 17 Javascript
基于jQuery的获取标签名的代码
Jul 16 Javascript
JS 加入收藏夹的代码(主流浏览器通用)
May 13 Javascript
jQuery实现鼠标划过添加和删除class的方法
Jun 26 Javascript
浅谈js-FCC算法Friendly Date Ranges(详解)
Apr 10 Javascript
js canvas实现QQ拨打电话特效
May 10 Javascript
详解angular脏检查原理及伪代码实现
Jun 08 Javascript
浅谈v-for 和 v-if 并用时筛选条件方法
Nov 07 Javascript
基于JavaScript实现十五拼图代码实例
Apr 26 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运行环境配置的详解
2013/06/04 PHP
Laravel 集成微信用户登录和绑定的实现
2019/12/27 PHP
脚本吧 - 幻宇工作室用到js,超强推荐base.js
2006/12/23 Javascript
jquery使用淘宝接口跨域查询手机号码归属地实例
2013/11/28 Javascript
javascript屏蔽右键代码
2014/05/15 Javascript
JS判断字符串包含的方法
2015/05/05 Javascript
Bootstrap table分页问题汇总
2016/05/30 Javascript
移动开发之自适应手机屏幕宽度
2016/11/23 Javascript
ES6概念 Symbol toString()方法
2016/12/25 Javascript
微信小程序 用户数据解密详细介绍
2017/01/09 Javascript
JavaScript原型继承_动力节点Java学院整理
2017/06/30 Javascript
Angular实现的简单查询天气预报功能示例
2017/12/27 Javascript
基于打包工具Webpack进行项目开发实例
2018/05/29 Javascript
JS逻辑运算符短路操作实例分析
2018/07/09 Javascript
layerUI下的绑定事件实例代码
2018/08/17 Javascript
Vue利用History记录上一页面的数据方法实例
2018/11/02 Javascript
实现高性能javascript的注意事项
2019/05/27 Javascript
vue中渲染对象中属性时显示未定义的解决
2020/07/31 Javascript
Angular短信模板校验代码
2020/09/23 Javascript
详细介绍Ruby中的正则表达式
2015/04/10 Python
学习Python selenium自动化网页抓取器
2018/01/20 Python
对numpy中的transpose和swapaxes函数详解
2018/08/02 Python
Python实现个人微信号自动监控告警的示例
2019/07/03 Python
python对Excel按条件进行内容补充(推荐)
2019/11/24 Python
python中Ansible模块的Playbook的具体使用
2020/05/28 Python
python实现图片素描效果
2020/09/26 Python
Perfume’s Club中文官网:西班牙美妆在线零售品牌
2020/08/24 全球购物
能否解释一下XSS cookie盗窃是什么意思
2012/06/02 面试题
EJB3推出JPA的原因
2013/10/16 面试题
大学生毕业鉴定
2014/01/31 职场文书
《最可爱的人》教学反思
2014/02/14 职场文书
环境卫生倡议书
2014/08/29 职场文书
2014年标准化工作总结
2014/12/17 职场文书
Python数据分析之绘图和可视化详解
2021/06/02 Python
node.js如何自定义实现一个EventEmitter
2021/07/16 Javascript
浅谈MySQL中的六种日志
2022/03/23 MySQL