javascript 鼠标跟随特效代码及理解
标签:
JavaScript
javascript 鼠标跟随特效 <!DOCTYPE html> | |
<html lang="en"> | |
<head> | |
<meta charset="UTF-8"> | |
<title></title> | |
<style> | |
*{ | |
margin: 0; | |
padding: 0; | |
} | |
body{ | |
height: 1000px; | |
} | |
div{ | |
width: 50px; | |
height: 50px; | |
background: red; | |
-webkit-border-radius: 50%; | |
-moz-border-radius: 50%; | |
border-radius: 50%; | |
text-align: center; | |
position: absolute; | |
top: 0; | |
left: 0; | |
line-height: 50px; | |
} | |
</style> | |
</head> | |
<body> | |
<div></div> | |
<div></div> | |
<div></div> | |
<div></div> | |
<div></div> | |
<div></div> | |
<div></div> | |
<div></div> | |
<div></div> | |
<div></div> | |
<div></div> | |
<div></div> | |
<div></div> | |
<div></div> | |
<div></div> | |
<div></div> | |
<div></div> | |
<div></div> | |
<div></div> | |
<div></div> | |
<script> | |
var oDiv=document.getElementsByTagName('div'); | |
document.onmousemove=function(e){ | |
//e等于鼠标对象 | |
e=e || window.event; | |
var maxX=window.innerWidth-oDiv[0].offsetWidth-18; | |
var maxY=window.innerHeight-oDiv[0].offsetHeight-18; //浏览器的宽度 - 第0个盒子 - 滚动条的宽度 | |
var sjyr=Math.floor(Math.random()*255); | |
var sjyg=Math.floor(Math.random()*255); | |
var sjyb=Math.floor(Math.random()*255); | |
var scrollTop=document.documentElement.scrollTop || document.body.scrollTop; | |
if(e.clientX>maxX){ | |
oDiv[0].style.left=maxX+'px'; | |
}else{ | |
oDiv[0].style.left= e.clientX+'px'; | |
} | |
if(e.clientY>maxY){ | |
oDiv[0].style.top=maxY+'px'; | |
}else{ | |
oDiv[0].style.top= e.clientY+scrollTop+'px'; | |
} | |
for(var i=oDiv.length-1;i>0;i--){ //for循环让div跟随他的上一个 | |
oDiv[i].style.left = oDiv[i-1].style.left; | |
oDiv[i].style.top = oDiv[i-1].style.top; | |
oDiv[i].style['backgroundColor'] = oDiv[i-1].style['backgroundColor']; | |
}//后者跟随前面的一个DIV | |
//滚动条滚动的距离; | |
oDiv[0].style.backgroundColor='rgb('+sjyr+","+sjyg+","+sjyb+')'; | |
/* oDiv[0].style.left= e.clientX+'px'; | |
oDiv[0].style.top= e.clientY+scrollTop+'px';*/ | |
//e.clientX 鼠标 X 距浏览器边缘多少像素 | |
//e.clientY 鼠标 Y 距浏览器边缘多少像素 | |
} | |
</script> | |
</body> | |
</html> 下面有图片: |
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦