设置一个30个以上的div(长10px,宽10px),要求后一个div跟着前一个走,第1个div跟着鼠标走。
时间: 2024-03-16 20:44:57 浏览: 128
跟随鼠标的div
你可以使用JavaScript和CSS来实现这个效果。下面是一个简单的示例:
HTML代码:
```html
<div id="container">
<div id="div1" class="box"></div>
<div class="box"></div>
<div class="box"></div>
<div class="box"></div>
<!-- 其他的 div -->
</div>
```
CSS代码:
```css
#container {
position: relative;
width: 310px; /* 30个div,每个div宽10px,加上每个div之间的间距,总宽度为310px */
height: 10px;
margin: 0 auto;
}
.box {
position: absolute;
width: 10px;
height: 10px;
background-color: #000;
margin-right: 5px; /* 设置div之间的间距 */
}
```
JavaScript代码:
```javascript
var container = document.getElementById("container");
var divs = container.getElementsByTagName("div");
// 让第一个div跟着鼠标移动
container.onmousemove = function(event) {
divs[0].style.left = event.clientX - 5 + "px";
divs[0].style.top = event.clientY - 5 + "px";
}
// 让其他div跟着前一个div移动
for (var i = 1; i < divs.length; i++) {
(function(j) {
setTimeout(function() {
divs[j].style.left = parseInt(divs[j-1].style.left) + 15 + "px";
divs[j].style.top = divs[j-1].style.top;
}, j * 100); // 设置每个div移动的延时时间,使得看起来是连续的
})(i);
}
```
上述代码使用了setTimeout函数,让每个div按照一定的延时时间依次移动。因此,即使有多个div,也可以实现一个一个跟着前一个div移动的效果。
阅读全文