swiper的使用
一、 swiper 使用方法
下载:www.swiper.com.cn/download/in…
1.首先加载插件,需要用到的文件有swiper-bundle.min.js和swiper-bundle.min.css文件,不同Swiper版本用到的文件名略有不同。可下载Swiper文件或使用CDN。
最后我们导入这两个文件就可以使用了
<!DOCTYPE html>
<html>
<head>
...
<link rel="stylesheet" href="dist/css/swiper-bundle.min.css">
</head>
<body>
...
<script src="dist/js/swiper-bundle.min.js"></script>
...
</body>
</html>
2.添加HTML内容
swiper-container最外层的div是一个容器
swiper-wrapper是一个按照一定顺序排列的所有轮播图的集合,在默认情况下是从左到右排列
swiper-slide:你的每一张轮播图。
swiper-pagination是分页器导航,也就是下图所显示的原点
swiper-button-prev swiper-button-next 插件默认的按钮左右箭头
swiper-scrollbar滚动条
<div class="swiper">
<div class="swiper-wrapper">
<div class="swiper-slide">Slide 1</div>
<div class="swiper-slide">Slide 2</div>
<div class="swiper-slide">Slide 3</div>
</div>
<!-- 如果需要分页器 -->
<div class="swiper-pagination"></div>
<!-- 如果需要导航按钮 -->
<div class="swiper-button-prev"></div>
<div class="swiper-button-next"></div>
<!-- 如果需要滚动条 -->
<div class="swiper-scrollbar"></div>
</div>
导航等组件可以放在Swiper容器之外
3.你可能想要给Swiper定义一个大小,当然不要也行。
.swiper {
width: 600px;
height: 300px;
}
4.初始化Swiper。
<script>
var mySwiper = new Swiper ('.swiper', {
direction: 'vertical', // 垂直切换选项
loop: true, // 循环模式选项
// 如果需要分页器
pagination: {
el: '.swiper-pagination',
},
// 如果需要前进后退按钮
navigation: {
nextEl: '.swiper-button-next',
prevEl: '.swiper-button-prev',
},
// 如果需要滚动条
scrollbar: {
el: '.swiper-scrollbar',
},
})
</script>
5.完成。恭喜你,现在你的Swiper应该已经能正常切换了。
如果作为CommonJs 或ES 模块引入
//CommonJs
var Swiper = require('swiper');
var mySwiper = new Swiper('.swiper', { /* ... */ });
//ES
import Swiper from 'swiper';
var mySwiper = new Swiper('.swiper', { /* ... */ });
二、查看API文档
查看API文档:www.swiper.com.cn/api/index.h…
常用的API
pagination(分页器)
pagination是一个对象这个对象也有属性
el: '.swiper-pagination'
el: 分页器容器的css选择器或HTML标签。分页器等组件可以置于container之外,(也就是说你的分页器可以放在轮播图容器的外面)
type: 'bullets'
type: 分页器的样式
可选类型:
‘bullets’ 圆点(默认)
‘fraction’ 分式
‘progressbar’ 进度条
‘custom’ 自定义
dynamicBullets: true
dynamicBullets: 动态分页器,当你的slide很多时,开启后,分页器小点的数量会部分隐藏。
hideOnClick :true
hideOnClick : 点击轮播图时隐藏分页器
clickable :true
clickable : 设置后你可以通过点击来使轮播图片切换
renderBullet: function (index, className) {
return '<span class="' + className + '">' + (index + 1) + '</span>';
}
renderBullet: 设置了这个属性你就可以设置自己的分页器样式,该属性是一个函数类型,参数是下标索引和类名 (类名默认是swiper-pagination-bullet你不用管他) 这个函数的返回值会添加在swiper-pagination中你也可以 在返回值中拼接img标签完成用图片切换轮播图
navigation(前进后退按钮)
var mySwiper = new Swiper('.swiper-container', {
navigation: {
nextEl: '.swiper-button-next',
prevEl: '.swiper-button-prev',
},
});
autoplay(自动轮播)
delay: 2000//2秒切换一次
delay: 自动轮播的时间,延时多少秒切换下一张图片
disableOnInteraction: false
disableOnInteraction: 在设置false时,你对轮博图操作不会停止循环,而true,在你对轮博图操作时会停止自动轮播
//鼠标覆盖停止自动切换
mySwiper.el.onmouseover = function(){
mySwiper.autoplay.stop();
}
//鼠标离开开始自动切换
mySwiper.el.onmouseout = function(){
mySwiper.autoplay.start();
}
mySwiper.autoplay.stop() mySwiper.autoplay.start() 一个开始轮播,一个暂停轮播,不多说,那个mySwiper应该是可以修改的,名字是你初始化的swiper名字。
methods(swiper方法)
这些方法一般用在外部的元素操控轮播图的切换
mySwiper.slideTo(0, 1000, false);//切换到第一个slide,速度为1秒
mySwiper.slideTo 这个就是根据下标来切换指定的图片(还挺有用的,我这个项目正好用到这个方法了)第三个值:设置为false时不会触发transition回调函数
$('#btn1').click(function(){
mySwiper.slidePrev();
})
$('#btn2').click(function(){
mySwiper.slideNext();
})
mySwiper.slidePrev() mySwiper.slideNext() 看到这个next和prev就知道这个控制切换上一张和下一张的方法
properties(swiper方法)
mySwiper.realIndex
mySwiper.realIndex 获取当前轮播图的索引(感觉这个用到的地方会很多)从0开始
mySwiper.isEnd
mySwiper.isEnd 判断是不是最后一张轮播图。