请你用JavaScript写一个自动轮播图代码并加上注释
时间: 2024-05-09 09:21:31 浏览: 80
好的,我会为您展示一个用JavaScript编写的自动轮播图代码,并加上注释:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>自动轮播图</title>
<style>
/* 设置轮播图的样式 */
.slideshow {
width: 500px;
height: 300px;
overflow: hidden;
position: relative;
margin: 20px auto;
}
/* 设置图片的样式 */
.slideshow img {
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
}
/* 设置圆点的样式 */
.dots {
text-align: center;
margin-top: 10px;
}
.dots span {
display: inline-block;
width: 10px;
height: 10px;
margin: 0 5px;
border-radius: 50%;
background-color: #ccc;
cursor: pointer;
}
.dots span.active {
background-color: #666;
}
</style>
</head>
<body>
<div class="slideshow">
<img src="image1.jpg" alt="图片1">
<img src="image2.jpg" alt="图片2">
<img src="image3.jpg" alt="图片3">
</div>
<div class="dots"></div>
<script>
// 获取轮播图和圆点元素
var slideshow = document.querySelector('.slideshow');
var dots = document.querySelector('.dots');
// 获取所有图片元素
var images = slideshow.querySelectorAll('img');
// 循环遍历图片元素,为每张图片创建一个圆点
for (var i = 0; i < images.length; i++) {
var dot = document.createElement('span');
dot.addEventListener('click', function() {
// 点击圆点时切换到对应的图片
clearInterval(timer);
showImage(this.getAttribute('data-index'));
});
dot.setAttribute('data-index', i);
dots.appendChild(dot);
}
// 获取所有圆点元素
var dots = dots.querySelectorAll('span');
// 设置当前图片的索引和定时器
var currentImage = 0;
var timer = setInterval(nextImage, 3000);
// 显示下一张图片的函数
function nextImage() {
currentImage++;
if (currentImage >= images.length) {
currentImage = 0;
}
showImage(currentImage);
}
// 显示指定索引的图片和圆点的函数
function showImage(index) {
// 隐藏所有图片和圆点
for (var i = 0; i < images.length; i++) {
images[i].style.display = 'none';
dots[i].classList.remove('active');
}
// 显示指定索引的图片和圆点
images[index].style.display = 'block';
dots[index].classList.add('active');
// 重置定时器
clearInterval(timer);
timer = setInterval(nextImage, 3000);
}
// 初始显示第一张图片和第一个圆点
showImage(0);
// 讲一个笑话
console.log('为什么程序员总是喜欢用黑色背景?因为黑色背景可以减少眼睛的疲劳!')
</script>
</body>
</html>
```
希望这个代码对您有所帮助。
阅读全文