要求一:jquery技术实现横向轮播图
时间: 2024-06-13 18:09:31 浏览: 133
以下是使用jQuery实现横向轮播图的代码:
HTML代码:
```html
<div class="slider">
<div class="slider-wrapper">
<img src="image1.jpg" alt="Image 1">
<img src="image2.jpg" alt="Image 2">
<img src="image3.jpg" alt="Image 3">
</div>
</div>
```
CSS代码:
```css
.slider {
width: 600px;
height: 400px;
overflow: hidden;
}
.slider-wrapper {
width: 1800px;
height: 400px;
position: relative;
left: 0;
transition: left 1s ease-in-out;
}
.slider-wrapper img {
float: left;
width: 600px;
height: 400px;
}
```
JavaScript代码:
```javascript
$(document).ready(function() {
var sliderWrapperWidth = $('.slider-wrapper').width();
var imageCount = $('.slider-wrapper img').length;
var imageWidth = sliderWrapperWidth / imageCount;
$('.slider-wrapper img').css('width', imageWidth);
var currentPosition = 0;
var slideInterval = setInterval(nextSlide, 3000);
function nextSlide() {
if (currentPosition == -sliderWrapperWidth + imageWidth) {
currentPosition = 0;
} else {
currentPosition -= imageWidth;
}
$('.slider-wrapper').css('left', currentPosition);
}
function prevSlide() {
if (currentPosition == 0) {
currentPosition = -sliderWrapperWidth + imageWidth;
} else {
currentPosition += imageWidth;
}
$('.slider-wrapper').css('left', currentPosition);
}
$('.slider').hover(function() {
clearInterval(slideInterval);
}, function() {
slideInterval = setInterval(nextSlide, 3000);
});
$('.slider-prev').click(function() {
prevSlide();
});
$('.slider-next').click(function() {
nextSlide();
});
});
```
说明:
1. HTML代码中,`.slider`是轮播图的容器,`.slider-wrapper`是图片的容器,其中包含多个`<img>`标签。
2. CSS代码中,`.slider`设置了容器的宽度、高度和溢出隐藏,`.slider-wrapper`设置了图片容器的宽度、高度、相对定位和过渡效果,`.slider-wrapper img`设置了图片的浮动和宽度。
3. JavaScript代码中,首先计算了每张图片的宽度,然后定义了`nextSlide()`和`prevSlide()`函数分别用于向前和向后滚动图片,以及一个定时器`slideInterval`用于自动滚动图片。
4. 当鼠标悬停在轮播图上时,清除定时器,当鼠标移开时,重新启动定时器。
5. 当点击左右按钮时,分别调用`prevSlide()`和`nextSlide()`函数。
阅读全文