全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

简单实现js鼠标跟随效果

本文实例为大家分享了js鼠标跟随效果展示的具体代码,供大家参考,具体内容如下

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Document</title>
 <style>
  body,div{
   margin:0;
   padding:0;

  }
  #box{
   position:relative;
   margin:20px auto;
   width:300px;
   height:300px;
   background:#008000;
  }
  #mark{
   position:absolute;
   top:0;
   left:0;
   width:100px;
   height:100px;
   background:red;
  }
 </style>
</head>
<body>
 <div id='box'>
  
 </div>
 <script>
  var box = document.getElementById('box');

  box.onmouseover = function(e){
   e = e || window.event;
   var mark = document.createElement('div');
   mark.id = "mark";
   this.appendChild(mark);
   mark.style.left = e.clientX - this.offsetLeft + 5 + "px";
   mark.style.top = e.clientY - this.offsetTop + 5 + "px";
   //阻止mark盒子的onmouseover事件的冒泡传播
   mark.onmouseover = function(e){
    e = e || window.event;
    e.stopPropagation ? e.stopPropagation():e.cancelBubble = true;
   }
   mark.onmouseout = function(e){
    e = e || window.event;
    e.stopPropagation ? e.stopPropagation():e.cancelBubble = true;
   }
  }
  //以下代码会出现一个问题,当鼠标移动过快的时候,鼠标会进入到mark这个盒子,会触发它的mouseover行为,由于事件的冒泡传播机制,导致box的mouseover会重新被触发,导致红色盒子一直在不断的创建
  box.onmousemove = function(e){
   e = e || window.event;
   var mark = document.getElementById('mark');
   if(mark){
    mark.style.left = e.clientX - this.offsetLeft + 5 + "px";
    mark.style.top = e.clientY - this.offsetTop + 5 + "px";
   }

  }
  //依然有问题:鼠标快速移动,首先会到mark上,此时浏览器在计算mark的位置,计算完成,mark到达指定的位置,此时鼠标又重新回到box上,触发了box的mouseover,也触发了mark的mouseout,也会传播到box的mouseout上,会把mark先删除,然后在创建
  box.onmouseout = function(e){
   e = e || window.event;
   var mark = document.getElementById('mark');
   if(mark){
    this.removeChild(mark);
   }

  }

  //上面代码也可以通过将over和out事件分别改为enter和leave 
  //onmouseenter和onmouseover都是鼠标滑上去的行为,但是onmouseenter浏览器默认阻止了它的冒泡传播(mark的onmouseenter行为触发,不会传播到box);而onmouseover是存在冒泡传播的,想要阻止的话需要手动阻止
 </script>
</body>
</html>

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


# js  # 鼠标跟随  # js实现简单鼠标跟随效果的方法  # js鼠标跟随运动效果  # javascript鼠标跟随运动3种效果(眼球效果  # 苹果菜单  # 方向跟随)  # Js鼠标跟随代码小手点击实例方法  # JS实现的简单鼠标跟随DiV层效果完整实例  # JS实现的鼠标跟随代码(卡通手型点击效果)  # js实现鼠标跟随运动效果  # 原生js实现鼠标跟随效果  # JavaScript实现的鼠标跟随特效示例【2则实例】  # js实现鼠标跟随小游戏  # 鼠标  # 都是  # 也会  # 可以通过  # 一个问题  # 会把  # 大家分享  # 过快  # 具体内容  # 大家多多  # 当鼠标  # body  # div  # padding  # margin  # title  # UTF  # style  # Document  # auto 


相关文章: 潍坊网站制作公司有哪些,潍坊哪家招聘网站好?  C++时间戳转换成日期时间的步骤和示例代码  音乐网站服务器如何优化API响应速度?  长春网站建设制作公司,长春的网络公司怎么样主要是能做网站的?  如何高效利用200m空间完成建站?  广平建站公司哪家专业可靠?如何选择?  如何用PHP快速搭建CMS系统?  ,交易猫的商品怎么发布到网站上去?  如何做静态网页,sublimetext3.0制作静态网页?  如何在企业微信快速生成手机电脑官网?  上海网站制作网站建设公司,建筑电工证网上查询系统入口?  教程网站设计制作软件,怎么创建自己的一个网站?  如何在云主机快速搭建网站站点?  魔方云NAT建站如何实现端口转发?  建站之星如何助力网站排名飙升?揭秘高效技巧  如何通过远程VPS快速搭建个人网站?  建站主机如何选?高性价比方案全解析  制作网站的软件免费下载,免费制作app哪个平台好?  网站规划与制作是什么,电子商务网站系统规划的内容及步骤是什么?  武汉网站制作费用多少,在武汉武昌,建面100平方左右的房子,想装暖气片,费用大概是多少啊?  制作网站外包平台,自动化接单网站有哪些?  深圳网站制作案例,网页的相关名词有哪些?  建站之星官网登录失败?如何快速解决?  建站之星安装失败:服务器环境不兼容?  简单实现Android文件上传  建站之星安全性能如何?防护体系能否抵御黑客入侵?  如何在阿里云部署织梦网站?  如何通过FTP服务器快速搭建网站?  建站主机CVM配置优化、SEO策略与性能提升指南  怎么将XML数据可视化 D3.js加载XML  如何通过智能用户系统一键生成高效建站方案?  零基础网站服务器架设实战:轻量应用与域名解析配置指南  小型网站制作HTML,*游戏网站怎么搭建?  常州自助建站费用包含哪些项目?  厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?  开封网站制作公司,网络用语开封是什么意思?  如何正确下载安装西数主机建站助手?  建站之星五站合一营销型网站搭建攻略,流量入口全覆盖优化指南  C#如何在一个XML文件中查找并替换文本内容  如何通过免费商城建站系统源码自定义网站主题与功能?  如何在Ubuntu系统下快速搭建WordPress个人网站?  微信小程序 input输入框控件详解及实例(多种示例)  品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?  建站之星会员如何解锁更多建站功能?  北京网站制作的公司有哪些,北京白云观官方网站?  沈阳个人网站制作公司,哪个网站能考到沈阳事业编招聘的信息?  高配服务器限时抢购:企业级配置与回收服务一站式优惠方案  较简单的网站制作软件有哪些,手机版网页制作用什么软件?  ,南京靠谱的征婚网站?  如何在Golang中实现微服务服务拆分_Golang微服务拆分与接口管理方法 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。