全网整合营销服务商

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

免费咨询热线: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 


相关文章: 在线教育网站制作平台,山西立德教育官网?  网站好制作吗知乎,网站开发好学吗?有什么技巧?  如何通过.red域名打造高辨识度品牌网站?  如何基于PHP生成高效IDC网络公司建站源码?  武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?  正规网站制作公司有哪些,目前国内哪家网页网站制作设计公司比较专业靠谱?口碑好?  制作网站的基本流程,设计网站的软件是什么?  建站主机服务器选型指南与性能优化方案解析  整蛊网站制作软件,手机不停的收到各种网站的验证码短信,是手机病毒还是人为恶搞?有这种手机病毒吗?  网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?  建站之星如何保障用户数据免受黑客入侵?  网站制作多少钱一个,建一个论坛网站大约需要多少钱?  如何在万网自助建站平台快速创建网站?  制作宣传网站的软件,小红书可以宣传网站吗?  洛阳网站制作公司有哪些,洛阳的招聘网站都有哪些?  如何在IIS中配置站点IP、端口及主机头?  建站主机类型有哪些?如何正确选型  如何快速完成中国万网建站详细流程?  智能起名网站制作软件有哪些,制作logo的软件?  北京建设网站制作公司,北京古代建筑博物馆预约官网?  如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?  如何用景安虚拟主机手机版绑定域名建站?  如何在IIS7上新建站点并设置安全权限?  购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?  济南企业网站制作公司,济南社保单位网上缴费步骤?  北京营销型网站制作公司,可以用python做一个营销推广网站吗?  潮流网站制作头像软件下载,适合母子的网名有哪些?  网站制作公司,橙子建站是合法的吗?  如何选择高效稳定的ISP建站解决方案?  武汉外贸网站制作公司,现在武汉外贸前景怎么样啊?  保定网站制作方案定制,保定招聘的渠道有哪些?找工作的人一般都去哪里看招聘信息?  寿县云建站:智能SEO优化与多行业模板快速上线指南  相册网站制作软件,图片上的网址怎么复制?  动图在线制作网站有哪些,滑动动图图集怎么做?  定制建站策划方案_专业建站与网站建设方案一站式指南  模具网站制作流程,如何找模具客户?  C++时间戳转换成日期时间的步骤和示例代码  C#如何在一个XML文件中查找并替换文本内容  宝盒自助建站智能生成技巧:SEO优化与关键词设置指南  C#如何使用XPathNavigator高效查询XML  c# 在高并发下使用反射发射(Reflection.Emit)的性能  如何在IIS中新建站点并配置端口与IP地址?  如何在阿里云部署织梦网站?  香港服务器部署网站为何提示未备案?  成都品牌网站制作公司,成都营业执照年报网上怎么办理?  制作农业网站的软件,比较好的农业网站推荐一下?  全景视频制作网站有哪些,全景图怎么做成网页?  网站海报制作教学视频教程,有什么免费的高清可商用图片网站,用于海报设计?  做企业网站制作流程,企业网站制作基本流程有哪些?  建站之星代理如何获取技术支持? 

您的项目需求

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