利用jquery技术实现最简洁的带按钮的轮播图
下面是一个简单的带按钮的轮播图示例:
HTML部分:
<div class="slider">
<div class="slider-container">
<div class="slide"><img src="img/slide1.jpg"></div>
<div class="slide"><img src="img/slide2.jpg"></div>
<div class="slide"><img src="img/slide3.jpg"></div>
</div>
<div class="slider-buttons">
<button class="prev">Prev</button>
<button class="next">Next</button>
</div>
</div>
CSS部分:
.slider {
position: relative;
width: 500px;
height: 300px;
overflow: hidden;
}
.slider-container {
position: absolute;
width: 1500px;
height: 300px;
left: 0;
top: 0;
}
.slide {
float: left;
width: 500px;
height: 300px;
}
.slider-buttons {
position: absolute;
bottom: 20px;
left: 50%;
transform: translateX(-50%);
}
.slider-buttons button {
margin: 0 10px;
padding: 8px 16px;
background-color: #333;
color: #fff;
border: none;
border-radius: 4px;
cursor: pointer;
}
.slider-buttons button:hover {
background-color: #555;
}
JavaScript部分:
$(document).ready(function() {
var slider = $('.slider'),
container = slider.find('.slider-container'),
slides = container.find('.slide'),
slideWidth = slides.eq(0).outerWidth(),
slideCount = slides.length,
currentSlide = 1,
prevButton = slider.find('.prev'),
nextButton = slider.find('.next');
container.css('width', slideWidth * slideCount);
prevButton.on('click', function() {
if (currentSlide > 1) {
currentSlide--;
container.animate({ left: '+=' + slideWidth }, 500);
}
});
nextButton.on('click', function() {
if (currentSlide < slideCount) {
currentSlide++;
container.animate({ left: '-=' + slideWidth }, 500);
}
});
});
此示例中,图片的宽度为500px,轮播图容器的宽度为1500px,通过改变容器的left属性来实现轮播图的切换。prev按钮和next按钮分别绑定了click事件,在点击时判断当前轮播图的序号,然后执行相应的动画。
原文地址: http://www.cveoy.top/t/topic/bd86 著作权归作者所有。请勿转载和采集!