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参数的小问题
Mar 02 Javascript
你必须知道的Javascript知识点之&quot;深入理解作用域链&quot;的介绍
Apr 23 Javascript
js动态改变select选择变更option的index值示例
Jul 10 Javascript
浅谈 javascript 事件处理
Jan 04 Javascript
Jquery中offset()和position()的区别分析
Feb 05 Javascript
学习JavaScript鼠标响应事件
Dec 25 Javascript
javascript图片切换综合实例(循环切换、顺序切换)
Jan 13 Javascript
JavaScript中省略元素对数组长度的影响
Oct 26 Javascript
javaScript嗅探执行神器-sniffer.js
Feb 14 Javascript
javascript 数据存储的常用函数总结
Jun 01 Javascript
利用React Router4实现的服务端直出渲染(SSR)
Jan 07 Javascript
javascript实现简单页面倒计时
Mar 02 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
咖啡与水的关系
2021/03/03 冲泡冲煮
JAVA/JSP学习系列之七
2006/10/09 PHP
PHP memcache扩展的三种安装方法
2009/04/26 PHP
php中获取远程客户端的真实ip地址的方法
2011/08/03 PHP
php中字符串和正则表达式详解
2014/10/23 PHP
Laravel jwt 多表(多用户端)验证隔离的实现
2019/12/18 PHP
js实现的跟随鼠标移动的时钟效果(中英文日期显示)
2011/01/17 Javascript
JavaScript设计模式之单件模式介绍
2014/12/28 Javascript
JavaScript实现在页面间传值的方法
2015/04/07 Javascript
解决jQuery uploadify在非IE核心浏览器下无法上传
2015/08/05 Javascript
jQuery实现从身份证号中获取出生日期和性别的方法分析
2016/02/25 Javascript
JavaScript学习笔记整理_关于表达式和语句
2016/09/19 Javascript
AngularJS入门教程之数据绑定原理详解
2016/11/02 Javascript
详解浏览器渲染页面过程
2017/02/09 Javascript
探究react-native 源码的图片缓存问题
2017/08/24 Javascript
通过js控制时间,一秒一秒自己动的实例
2017/10/25 Javascript
Vue精简版风格概述
2018/01/30 Javascript
手把手带你入门微信小程序新框架Kbone的使用
2020/02/25 Javascript
python通过smpt发送邮件的方法
2015/04/30 Python
Python基于回溯法子集树模板解决最佳作业调度问题示例
2017/09/08 Python
jupyter notebook引用from pyecharts.charts import Bar运行报错
2020/04/23 Python
python各类经纬度转换的实例代码
2019/08/08 Python
python requests更换代理适用于IP频率限制的方法
2019/08/21 Python
Python基于BeautifulSoup爬取京东商品信息
2020/06/01 Python
python的help函数如何使用
2020/06/11 Python
html5 利用重力感应实现摇一摇换颜色可用来做抽奖等等
2014/05/07 HTML / CSS
米兰必去买手店排行榜首位:Antonioli
2016/09/11 全球购物
人力资源作业细则
2014/03/03 职场文书
创业者迈进成功第一步:如何写创业计划书?
2014/03/22 职场文书
幼儿园大班家长评语
2014/04/17 职场文书
2015年银行信贷员工作总结
2015/05/19 职场文书
商标侵权律师函
2015/05/27 职场文书
地球上的星星观后感
2015/06/02 职场文书
MySQL系列之九 mysql查询缓存及索引
2021/07/02 MySQL
springboot layui hutool Excel导入的实现
2022/03/31 Java/Android
JavaScript实现简单的音乐播放器
2022/08/14 Javascript