<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
div {
width: 20px;
height: 20px;
background-color: red;
border-radius: 50%;
position: absolute;
}
</style>
<script>
window.onload = function () {
var arr = document.getElementsByTagName("div");
for (i = arr.length - 1; i > 0; i--) {
arr[i].style.top = arr[i - 1].offsetTop + "px";
arr[i].style.left = arr[i - 1].offsetLeft + "px";
}
document.onmousemove = function (ev) {
var e = ev || window.event;
arr[0].style.top = e.clientY + "px";
arr[0].style.left = e.clientX + "px";
}
}
</script>
</head>
<body>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</body>
</html>
我把
for (i = arr.length - 1; i > 0; i--) {
arr[i].style.top = arr[i - 1].offsetTop + "px";
arr[i].style.left = arr[i - 1].offsetLeft + "px";
}
写在了触发函数外面,但是我认为我可以用for循环将里面圆点的位置全部都变成我想要的位置后(把后一个圆点放在前一个圆点位置上),然后再用onmousemove函数让第一个圆点跟随鼠标就行了,但是为什么按照这个逻辑后面的圆点无法跟随第一个圆点?