js设置一个30个以上的div(长10px,宽10px),要求后一个div跟着前一个走,第1个div跟着鼠标走。
时间: 2024-03-22 13:40:31 浏览: 44
你可以使用 JavaScript 和 CSS 来实现这个效果。首先,在 HTML 文件中创建一个容器,用于包含所有的 div 元素:
```html
<div id="container"></div>
```
然后,在 JavaScript 文件中,创建一个数组来存储所有的 div 元素,并使用循环语句生成这些元素:
```javascript
// 创建 div 元素并添加到容器中
var container = document.getElementById("container");
var divs = [];
for (var i = 0; i < 30; i++) {
var div = document.createElement("div");
div.style.width = "10px";
div.style.height = "10px";
div.style.position = "absolute";
div.style.left = (i * 10) + "px";
container.appendChild(div);
divs.push(div);
}
```
接下来,为第一个 div 元素添加鼠标移动事件监听器:
```javascript
// 第一个 div 跟着鼠标移动
divs[0].addEventListener("mousemove", function(event) {
divs[0].style.left = event.clientX + "px";
divs[0].style.top = event.clientY + "px";
});
```
最后,为剩余的 div 元素添加定时器,使它们跟着前一个 div 元素移动:
```javascript
// 其他 div 跟着前一个 div 移动
for (var i = 1; i < divs.length; i++) {
setInterval((function(index) {
return function() {
divs[index].style.left = divs[index-1].style.left;
divs[index].style.top = divs[index-1].style.top;
}
})(i), 10);
}
```
以上代码会让第一个 div 元素跟着鼠标移动,其余的 div 元素跟着前一个 div 元素移动,每个 div 元素的大小为 10x10 像素。你可以根据需要调整这些值。
阅读全文