设置一个30个以上的div(长10px,宽10px),要求后一个div跟着前一个走,第1个div跟着鼠标走。
时间: 2024-03-22 09:40:01 浏览: 168
好的,我可以为您提供一个简单的实现方案,使用JavaScript和CSS来实现这个需求。首先,您可以使用一个父元素来包含所有的div元素,并设置其为相对定位(position: relative),然后在CSS中为每个div元素设置绝对定位(position: absolute),并给每个div元素一个不同的id。接下来,您可以使用JavaScript来实现鼠标跟随和div元素跟随的效果。以下是代码实现:
HTML代码:
```html
<div id="container">
<div id="div1"></div>
<div id="div2"></div>
<div id="div3"></div>
...
<div id="div30"></div>
</div>
```
CSS代码:
```css
#container {
position: relative;
width: 310px;
height: 10px;
}
div[id^="div"] {
position: absolute;
width: 10px;
height: 10px;
background-color: red;
}
#div1 {
top: 0;
left: 0;
}
#div2 {
top: 0;
left: 10px;
}
#div3 {
top: 0;
left: 20px;
}
...
#div30 {
top: 0;
left: 290px;
}
```
JavaScript代码:
```javascript
var container = document.getElementById("container");
var div1 = document.getElementById("div1");
container.addEventListener("mousemove", function(event) {
var x = event.clientX;
div1.style.left = x + "px";
});
for (var i = 2; i <= 30; i++) {
var currentDiv = document.getElementById("div" + i);
var previousDiv = document.getElementById("div" + (i - 1));
currentDiv.style.left = parseInt(previousDiv.style.left) + 10 + "px";
}
```
这段代码中,我们首先获取了包含所有div元素的父元素和第一个div元素,然后为父元素添加了一个mousemove事件监听器,当鼠标在父元素上移动时,更新第一个div元素的left属性以实现鼠标跟随效果。接下来我们使用一个循环来遍历所有的div元素(除了第一个元素),并为它们设置left属性,使得每个div元素跟随前一个元素移动。
阅读全文