swiper的使用

989 阅读3分钟

swiper的使用

官网:www.swiper.com.cn/

一、 swiper 使用方法

下载:www.swiper.com.cn/download/in…

image.png

1.首先加载插件,需要用到的文件有swiper-bundle.min.js和swiper-bundle.min.css文件,不同Swiper版本用到的文件名略有不同。可下载Swiper文件或使用CDN

image.png

最后我们导入这两个文件就可以使用了

image.png

<!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 判断是不是最后一张轮播图。