多张图片同时自动轮播代码
时间: 2023-10-30 09:07:31 浏览: 87
以下是使用 JavaScript 和 HTML 实现多张图片自动轮播的示例代码:
```html
<!DOCTYPE html>
<html>
<head>
<title>多张图片自动轮播</title>
<style>
.container {
position: relative;
width: 800px;
height: 400px;
margin: 0 auto;
overflow: hidden;
}
.slides {
position: absolute;
display: flex;
width: calc(800px * 3);
height: 400px;
left: 0;
animation: slide 10s infinite;
}
.slide {
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
width: 800px;
height: 400px;
}
.slide img {
max-width: 100%;
max-height: 100%;
}
@keyframes slide {
0% {
left: 0;
}
33.33% {
left: -800px;
}
66.66% {
left: -1600px;
}
100% {
left: 0;
}
}
</style>
</head>
<body>
<div class="container">
<div class="slides">
<div class="slide">
<img src="image1.jpg" alt="Image 1">
</div>
<div class="slide">
<img src="image2.jpg" alt="Image 2">
</div>
<div class="slide">
<img src="image3.jpg" alt="Image 3">
</div>
</div>
</div>
<script>
var container = document.querySelector('.container');
container.addEventListener('mouseenter', function() {
clearInterval(intervalId);
});
container.addEventListener('mouseleave', function() {
intervalId = setInterval(autoSlide, 5000);
});
var slides = document.querySelector('.slides');
var slideWidth = document.querySelector('.slide').offsetWidth;
var currentSlide = 0;
function autoSlide() {
currentSlide++;
if (currentSlide === 3) {
currentSlide = 0;
}
slides.style.left = -currentSlide * slideWidth + 'px';
}
var intervalId = setInterval(autoSlide, 5000);
</script>
</body>
</html>
```
该示例代码中的图片默认为宽度为 800 像素、高度为 400 像素的 JPEG 格式图片,可以根据实际情况进行修改。在这个示例中,使用 CSS 的 `animation` 属性实现了自动轮播的动画效果,并在 JavaScript 中通过计时器(`setInterval`)控制图片轮播的间隔时间。同时,还添加了鼠标进入和离开图片容器时停止和恢复轮播的事件监听器。
阅读全文