使用getPos方法实现 鼠标动一串圆

1.首先来n个div

自己随便设置多少个圆

<body>
   <div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div>
</body>

2.设置css样式

     div{width: 100px;height: 100px;border-radius: 50%;position: absolute;background: red;}

3.getPos源码

//获取鼠标x,y(横纵坐标)
function getPos(ev)
{   //可视化页面,离全页面,顶部和左边,的top或者left值
	var scrollTop =document.documentElement.scrollTop||document.body.scrollTop;
	var scrollLeft =document.documentElement.scrollLeft||document.body.scrollLeft;
	
    //页面中鼠标的x,y值 = 可视化鼠标的x,y值 + 可视化页面left,top值 
    return {x: ev.clientX+scrollLeft, y: ev.clientY +scrollTop};
};

4.js实现源码

使用getPos方法获取当前元素到页面的距离,在此,是鼠标到页面的距离
使用for循环,让每一个div都改变自身的left,和top值,并且保持与前一个div运动轨迹相同。所以鼠标一动,div就会跟着鼠标一起动,犹如贪吃蛇一般。

<style>
	document.onmousemove=function(ev){
		var aDiv =document.getElementsByTagName('div');
		var oEvent =ev||event;
		
		var pos =getPos(oEvent);
		for(var i =aDiv.length-1;i>0;i--){
			aDiv[i].style.left =aDiv[i-1].offsetLeft + 'px';
			aDiv[i].style.top =aDiv[i-1].offsetTop + 'px';
		}
		
		aDiv[0].style.left =pos.x +'px';
		aDiv[0].style.top =pos.y +'px';
		
	};
</style>
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值