jQuery焦点图是一种常见的网页轮播效果,用于展示一系列图片或内容,并且通常带有导航按钮以便用户切换显示的内容。以下是一个简单的jQuery焦点图代码示例:
<div class="slider">
<div class="slide">Slide 1</div>
<div class="slide">Slide 2</div>
<div class="slide">Slide 3</div>
<!-- 更多幻灯片 -->
</div>
<div class="slider-nav">
<button class="prev">Prev</button>
<button class="next">Next</button>
</div>
.slider {
position: relative;
overflow: hidden;
width: 100%;
}
.slide {
display: none;
width: 100%;
}
.slide:first-child {
display: block;
}
$(document).ready(function() {
var currentIndex = 0;
var slides = $('.slide');
var slideCount = slides.length;
function showSlide(index) {
slides.hide();
slides.eq(index).show();
}
$('.next').click(function() {
currentIndex = (currentIndex + 1) % slideCount;
showSlide(currentIndex);
});
$('.prev').click(function() {
currentIndex = (currentIndex - 1 + slideCount) % slideCount;
showSlide(currentIndex);
});
});
为了提高性能和用户体验,可以使用CSS3过渡效果,并结合jQuery来控制类名切换:
.slide {
position: absolute;
top: 0;
left: 0;
opacity: 0;
transition: opacity 1s ease-in-out;
}
.slide.active {
opacity: 1;
}
$(document).ready(function() {
var currentIndex = 0;
var slides = $('.slide');
var slideCount = slides.length;
function showSlide(index) {
slides.removeClass('active');
slides.eq(index).addClass('active');
}
$('.next').click(function() {
currentIndex = (currentIndex + 1) % slideCount;
showSlide(currentIndex);
});
$('.prev').click(function() {
currentIndex = (currentIndex - 1 + slideCount) % slideCount;
showSlide(currentIndex);
});
// 初始化显示第一张幻灯片
showSlide(currentIndex);
});
通过这种方式,可以实现更平滑的过渡效果,并且减少了对JavaScript的依赖,提高了页面的性能。
领取专属 10元无门槛券
手把手带您无忧上云