写一个html文件和相应的样式,实现一个盒子里面三张图片,点击左右两个按钮可以实现轮播
时间: 2024-02-25 07:53:54 浏览: 135
js实现点击左右按钮轮播图片效果实例
5星 · 资源好评率100%
好的,以下是一个简单的实现:
HTML代码:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>轮播图</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<div class="slider">
<img src="image1.jpg" alt="图片1">
<img src="image2.jpg" alt="图片2">
<img src="image3.jpg" alt="图片3">
<button class="prev">上一张</button>
<button class="next">下一张</button>
</div>
<script type="text/javascript" src="script.js"></script>
</body>
</html>
```
CSS代码:
```css
.slider {
position: relative;
width: 500px;
height: 300px;
overflow: hidden;
}
.slider img {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
opacity: 0;
transition: opacity 0.5s ease-in-out;
}
.slider img.active {
opacity: 1;
}
.slider button {
position: absolute;
top: 50%;
transform: translateY(-50%);
padding: 10px;
background-color: #fff;
border: none;
box-shadow: 0 2px 4px rgba(0,0,0,0.2);
cursor: pointer;
}
.slider button.prev {
left: 0;
}
.slider button.next {
right: 0;
}
```
JavaScript代码:
```javascript
var slider = document.querySelector('.slider');
var prevBtn = slider.querySelector('.prev');
var nextBtn = slider.querySelector('.next');
var images = slider.querySelectorAll('img');
var currentImage = 0;
function showImage(n) {
images[currentImage].classList.remove('active');
currentImage = (n + images.length) % images.length;
images[currentImage].classList.add('active');
}
showImage(currentImage);
prevBtn.addEventListener('click', function() {
showImage(currentImage - 1);
});
nextBtn.addEventListener('click', function() {
showImage(currentImage + 1);
});
```
以上代码实现了一个简单的轮播图,通过点击左右按钮可以切换图片。在CSS中,使用了绝对定位和opacity属性来实现图片的淡入淡出效果。在JavaScript中,使用了showImage函数来切换图片,并且通过取模运算实现了循环播放。
阅读全文