html多张图片轮播
时间: 2023-12-19 11:31:58 浏览: 57
html 多张图片轮播
5星 · 资源好评率100%
以下是一个基于HTML和CSS实现的多张图片轮播的例子:
```html
<!DOCTYPE html>
<html>
<head>
<title>Image Slider</title>
<style>
.slider {
width: 500px;
height: 300px;
margin: 0 auto;
overflow: hidden;
position: relative;
}
.slider img {
width: 500px;
height: 300px;
position: absolute;
top: 0;
left: 0;
opacity: 0;
transition: opacity 1s ease-in-out;
}
.slider img.active {
opacity: 1;
}
.slider .prev, .slider .next {
position: absolute;
top: 50%;
transform: translateY(-50%);
font-size: 30px;
color: #fff;
cursor: pointer;
z-index: 1;
}
.slider .prev {
left: 10px;
}
.slider .next {
right: 10px;
}
</style>
</head>
<body>
<div class="slider">
<img src="image1.jpg" class="active">
<img src="image2.jpg">
<img src="image3.jpg">
<img src="image1.jpg">
<img src="image2.jpg">
<img src="image3.jpg">
<div class="prev">❮</div>
<div class="next">❯</div>
</div>
<script>
var slideIndex = 0;
showSlides();
function showSlides() {
var i;
var slides = document.getElementsByClassName("slider")[0].getElementsByTagName("img");
for (i = 0; i < slides.length; i++) {
slides[i].classList.remove("active");
}
slideIndex++;
if (slideIndex > slides.length) {
slideIndex = 1;
}
slides[slideIndex - 1].classList.add("active");
setTimeout(showSlides, 3000);
}
document.getElementsByClassName("prev")[0].addEventListener("click", function() {
var slides = document.getElementsByClassName("slider")[0].getElementsByTagName("img");
for (i = 0; i < slides.length; i++) {
slides[i].classList.remove("active");
}
slideIndex--;
if (slideIndex < 1) {
slideIndex = slides.length;
}
slides[slideIndex - 1].classList.add("active");
});
document.getElementsByClassName("next")[0].addEventListener("click", function() {
var slides = document.getElementsByClassName("slider")[0].getElementsByTagName("img");
for (i = 0; i < slides.length; i++) {
slides[i].classList.remove("active");
}
slideIndex++;
if (slideIndex > slides.length) {
slideIndex = 1;
}
slides[slideIndex - 1].classList.add("active");
});
</script>
</body>
</html>
```
这个例子中,我们使用了一个包含多张图片的`<div>`元素,并使用CSS将其设置为一个固定大小的容器。我们使用`overflow: hidden`属性来隐藏超出容器大小的部分,并使用`position: relative`属性来使其内部元素的定位相对于该容器。
我们使用`<img>`元素来添加图片,并使用CSS将其设置为绝对定位。我们使用`opacity`属性来控制图片的透明度,并使用`transition`属性来添加渐变效果。我们使用`classList`属性来添加或删除`active`类,以控制哪张图片应该显示。
我们还添加了两个`<div>`元素,分别用于向前和向后滚动图片。我们使用JavaScript添加了两个事件监听器,以便在单击这些元素时滚动图片。
阅读全文