效果
HTML
引入swiper-bundle.css、swiper-bundle.js
<head>
<link rel="stylesheet" href="swiper-bundle.css">
<style>
.swiper {
width: 600px;
height: 300px;
}
</style>
</head>
<body>
<div id="mySwiper" class="swiper">
<!--内容-->
<div class="swiper-wrapper"></div>
<!--分页-->
<div class="swiper-pagination"></div>
<!--上一个、下一个-->
<div class="swiper-button-prev"></div>
<div class="swiper-button-next"></div>
</div>
<script src="swiper-bundle.js"></script>
</body>
JS
实现懒加载轮播图+ajax获取数据
new Swiper ('#mySwiper', {
//显示几个图片设置
slidesPerView: 1,
//每一次切换图片个数
slidesPerGroup:1,
lazy: { loadPrevNext: true},
// 分页器
pagination: { el: '.swiper-pagination', clickable: true},
// 前进后退按钮
navigation: { nextEl: '.swiper-button-next', prevEl: '.swiper-button-prev',},
virtual: {
slides: (function () {
let list = ajaxLoadSwaiperList(); // 异步加载轮播图数据
return list; // 空返回[]
})(),
renderSlide:function(slide, index){ // 懒加载渲染每一项
return '<div class="swiper-slide"><img width=600 height=300 data-src="00'+(index+1)+'.png" class="swiper-lazy"/></div>';
},
},
runCallbacksOnInit : true, // 每次切换轮播图会回调
on:{
init:function(){
console.log('初始化,当前的slide序号是'+this.activeIndex);
},
// 轮播图切换
slideChange:function(swiper){
console.log(this.activeIndex); // 当前下标,从0开始
},
lazyImageReady: function(swiper, slideEl, imageEl){
// console.log(slideEl); //懒加载图片所在slide的DOM
// console.log(imageEl); //懒加载图片的DOM
}
}
})
更新轮播图
// 将现有的slides移除掉
mySwiper.virtual.removeAllSlides();
mySwiper.virtual.cache=[];
// 设置新的slide数据,例如[]
mySwiper.virtual.slides = [];
// 更新
mySwiper.virtual.update();