本文实例为大家分享了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小时内与您取得联系。