结构
<div class="swiper">
<div class="swiper-wrapper">
<div class="swiper-slide">
<img src="magic/images/detailsBanner.jpg" alt="">
</div>
<div class="swiper-slide">
<img src="magic/images/detailsBanner.jpg" alt="">
</div>
</div>
<div class="swiper-pagination"></div> <!--分页器-->
<div class="swiper-button-prev"></div><!--左箭头。如果放置在swiper外面,需要自定义样式。-->
<div class="swiper-button-next"></div><!--右箭头。如果放置在swiper外面,需要自定义样式。-->
</div>
js
var detailsBanner = new Swiper('.detailsBanner',{
// effect: 'fade', //切换效果
autoplay: {
disableOnInteraction: false, //如果手动干预后swiper会停止自动切换
},
loop: true, //循环
slidesPerView: 3, //显示几个滑块
spaceBetween : 20, //滑块与滑块间的距离
//左右按钮
navigation: {
nextEl: '.swiper-button-next',
prevEl: '.swiper-button-prev',
},
//事件监听
on: {
//滑块停止后触发以下事件
transitionEnd: function(){
// let i = this.activeIndex-4 <= 0 ? 0 :this.activeIndex-4;//loop模式下返回的索引不对应
let i = this.realIndex;//loop模式下返回对应索引
console.log(this.realIndex);
$('.partition .tabTop .tabClick').eq(i).addClass('active').siblings().removeClass('active');
}
},
// 分页器配置
pagination: {
el: '.swiper-pagination',
type: 'fraction', //类型
renderFraction: function (currentClass, totalClass) {
return '<span class="' + currentClass + '"></span>' +
'/' +
'<span class="' + totalClass + '"></span>';
},
// 返回所有滑块数量
formatFractionTotal: function (number) {
return number < 10 ? '0' + number : number;
},
// 返回当前滑块索引
formatFractionCurrent: function (number) {
return number < 10 ? '0' + number : number;
}
},
});