JS原生实现多个小球跟着鼠标移动

每个小球移动都有自己的坐标,小球移动的同时,需要进行坐标传递,将第一个坐标依次传递给最后一个坐标,来实现小球跟着移动的效果

 

<!DOCTYPE html>
<html>

	<head>
		<meta charset="UTF-8">
		<title>小球运动</title>
		<style type="text/css">
			p {
				border-radius: 50%;
				width: 30px;
				height: 30px;
				position: absolute;
				text-align: center;
				line-height: 30px;
				color: white;
			}
		</style>
	</head>
	<body>
	</body>
	<script type="text/javascript">
		//创建数组存储所有的小球
		var  balls = [];
		//创建小球函数
		function createballs(){
			for (var i = 0;i < 60;i++) {
				var  ball = document.createElement("p");
				 ball.innerHTML = i + 1;
				 ball.style.backgroundColor = randomColor();
				//将创建的小球存储到数组中
				document.body.appendChild( ball);
				//将所有的小球存在数组中
				 balls.push( ball);
			}
		}
		createballs();
		//随机函数
		function randomNum(m, n) {
			return Math.floor(Math.random() * (n - m + 1) + m);
		}
		//随机颜色
		function randomColor() {
			return "rgb(" + randomNum(0, 255) + "," + randomNum(0, 255) + "," + randomNum(0, 255) + ")";
		}
		document.onmousemove = function(e){
			var eventObj = e || event;
			for(var i =  balls.length - 1;i > 0;i--){
				//将小球的下标通过for循环进行传递
				 balls[i].style.left =  balls[i - 1].style.left;
				 balls[i].style.top=  balls[i - 1].style.top;
			}
			//将第一个小球赋值为最新的事件对象中的坐标
			 balls[0].style.left = eventObj.clientX + "px";
			 balls[0].style.top= eventObj.clientY + "px";
		}
	</script>

</html>

 

 

 

 

 

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值