设置轮播图,(1)自动播放、鼠标移到图片上停止播放;(2)点击中间的数字球,转到对应的图片上,数字球变成红色,鼠标从数字球上移走后,图片从刚才位置开始轮播。
时间: 2024-03-22 10:40:32 浏览: 11
你可以使用 HTML、CSS 和 JavaScript 来实现这个效果。首先,在 HTML 文件中创建一个容器,用于包含所有的图片和数字球:
```html
<div id="slider">
<div class="images">
<img src="image1.jpg" alt="Image 1">
<img src="image2.jpg" alt="Image 2">
<img src="image3.jpg" alt="Image 3">
</div>
<div class="controls">
<span class="control active"></span>
<span class="control"></span>
<span class="control"></span>
</div>
</div>
```
然后,在 CSS 文件中,设置容器和图片的样式:
```css
#slider {
width: 600px;
height: 400px;
position: relative;
overflow: hidden;
}
.images {
width: 1800px;
height: 400px;
position: absolute;
left: 0;
top: 0;
}
.images img {
width: 600px;
height: 400px;
float: left;
}
```
接下来,在 JavaScript 文件中,创建一个数组来存储所有的数字球,并使用循环语句生成这些元素:
```javascript
// 创建数字球并添加到容器中
var slider = document.getElementById("slider");
var controls = [];
for (var i = 0; i < 3; i++) {
var control = document.createElement("span");
control.className = "control";
if (i === 0) {
control.className += " active";
}
slider.appendChild(control);
controls.push(control);
}
```
然后,定义一个变量来存储当前显示的图片的索引:
```javascript
// 当前显示的图片的索引
var currentSlide = 0;
```
接下来,使用定时器实现自动播放和数字球的变化:
```javascript
// 自动播放和数字球的变化
var timer = setInterval(function() {
currentSlide++;
if (currentSlide >= 3) {
currentSlide = 0;
}
updateSlider();
}, 3000);
function updateSlider() {
// 显示对应的图片
var images = document.querySelector(".images");
images.style.left = (-currentSlide * 600) + "px";
// 更改数字球的样式
for (var i = 0; i < controls.length; i++) {
controls[i].classList.remove("active");
}
controls[currentSlide].classList.add("active");
}
```
最后,为数字球添加点击事件监听器,使用户能够点击数字球切换图片:
```javascript
// 点击数字球切换图片
for (var i = 0; i < controls.length; i++) {
controls[i].addEventListener("click", function() {
clearInterval(timer);
currentSlide = Array.prototype.indexOf.call(controls, this);
updateSlider();
timer = setInterval(function() {
currentSlide++;
if (currentSlide >= 3) {
currentSlide = 0;
}
updateSlider();
}, 3000);
});
}
```
以上代码会让图片自动轮播,当鼠标移到图片上时停止自动播放,当鼠标从数字球上移开时恢复自动播放。用户也可以点击数字球切换图片,当鼠标从数字球上移开时继续自动播放。你可以根据需要调整定时器的间隔和容器、图片、数字球的大小和样式。