jquery轮播图代码


以下是一个基于jQuery实现的简单轮播图代码示例,包含自动轮播和手动切换功能:
HTML结构
<div class="slider">
<div class="slider-container">
<img src="image1.jpg" class="active">
<img src="image2.jpg">
<img src="image3.jpg">
</div>
<div class="slider-controls">
<button class="prev">Previous</button>
<button class="next">Next</button>
</div>
<div class="slider-dots">
<span class="dot active" data-index="0"></span>
<span class="dot" data-index="1"></span>
<span class="dot" data-index="2"></span>
</div>
</div>
CSS样式
.slider {
position: relative;
width: 600px;
margin: 0 auto;
overflow: hidden;
}
.slider-container {
display: flex;
transition: transform 0.5s ease;
}
.slider-container img {
width: 100%;
display: none;
}
.slider-container img.active {
display: block;
}
.slider-controls {
position: absolute;
width: 100%;
top: 50%;
transform: translateY(-50%);
display: flex;
justify-content: space-between;
}
.slider-dots {
text-align: center;
padding: 10px 0;
}
.dot {
display: inline-block;
width: 12px;
height: 12px;
border-radius: 50%;
background: #ccc;
margin: 0 5px;
cursor: pointer;
}
.dot.active {
background: #333;
}
jQuery代码
$(document).ready(function() {
let currentIndex = 0;
const slides = $('.slider-container img');
const totalSlides = slides.length;
let autoSlideInterval;
function showSlide(index) {
slides.removeClass('active');
$(slides[index]).addClass('active');
$('.dot').removeClass('active');
$('.dot[data-index="'+index+'"]').addClass('active');
currentIndex = index;
}
function nextSlide() {
let newIndex = (currentIndex + 1) % totalSlides;
showSlide(newIndex);
}
function prevSlide() {
let newIndex = (currentIndex - 1 + totalSlides) % totalSlides;
showSlide(newIndex);
}
function startAutoSlide() {
autoSlideInterval = setInterval(nextSlide, 3000);
}
function stopAutoSlide() {
clearInterval(autoSlideInterval);
}
$('.next').click(function() {
stopAutoSlide();
nextSlide();
startAutoSlide();
});
$('.prev').click(function() {
stopAutoSlide();
prevSlide();
startAutoSlide();
});
$('.dot').click(function() {
stopAutoSlide();
let dotIndex = parseInt($(this).attr('data-index'));
showSlide(dotIndex);
startAutoSlide();
});
startAutoSlide();
});
实现说明
- 轮播图通过添加/移除
active类控制显示状态 - 自动轮播使用
setInterval实现,默认3秒切换一次 - 点击导航按钮或指示点时会暂停自动轮播,操作结束后恢复
- 使用CSS过渡效果实现平滑的切换动画
- 轮播图支持无限循环,到达最后一张后自动回到第一张
可根据实际需求调整轮播速度、过渡效果或添加更多功能如淡入淡出效果等。






