<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>图片轮播</title>
<style>
* {
margin: 0;
padding: 0;
}
.carousel {
width: 600px;
height: 400px;
overflow: hidden;
position: relative;
margin: 50px auto;
}
.carousel img {
width: 100%;
height: 100%;
display: none;
}
.carousel img:first-child {
display: block;
}
.carousel .prev, .carousel .next {
position: absolute;
top: 50%;
transform: translateY(-50%);
background-color: rgba(0, 0, 0, 0.5);
color: white;
border: none;
padding: 10px;
cursor: pointer;
}
.carousel .prev {
left: 10px;
}
.carousel .next {
right: 10px;
}
</style>
</head>
<body>
<div class="carousel">
<img src="https://via.placeholder.com/600x400?text=Image+1" alt="Image 1">
<img src="https://via.placeholder.com/600x400?text=Image+2" alt="Image 2">
<img src="https://via.placeholder.com/600x400?text=Image+3" alt="Image 3">
<button class="prev">❮</button>
<button class="next">❯</button>
</div>
<script>
let currentIndex = 0;
const images = document.querySelectorAll('.carousel img');
const totalImages = images.length;
function showImage(index) {
images.forEach((img, i) => {
img.style.display = i === index ? 'block' : 'none';
});
}
function nextImage() {
currentIndex = (currentIndex + 1) % totalImages;
showImage(currentIndex);
}
function prevImage() {
currentIndex = (currentIndex - 1 + totalImages) % totalImages;
showImage(currentIndex);
}
document.querySelector('.next').addEventListener('click', nextImage);
document.querySelector('.prev').addEventListener('click', prevImage);
// 自动播放
setInterval(nextImage, 3000);
</script>
</body>
</html>
HTML结构:
<div>
容器,用于展示图片轮播。prev
和next
),用于手动切换图片。CSS样式:
JavaScript逻辑:
querySelectorAll
获取所有图片元素,并定义了当前显示的图片索引。showImage
函数用于根据索引显示对应的图片。nextImage
和prevImage
函数分别用于切换到下一张和上一张图片。addEventListener
为按钮添加点击事件,实现手动切换图片。setInterval
实现了自动播放功能,每隔3秒切换到下一张图片。上一篇:html 空格代码
下一篇:svg html
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站