触摸滑动插件:Swiper

中文网:https://www.swiper.com.cn/
GitHub:https://github.com/nolimits4web/swiper

swiper是什么?

swiper是一款轻量级的轮播图插件,不仅支持pc端更是为移动端而生,用它可以快速地做出一个轮播图,或者扩展使其做出复杂的轮播效果。

基本用法

swiper使用需要两个文件,一个是swiper.css,里面规定了一些在这个滑动轮播插件中常用的样式,当然如果你愿意的话可以自己定义样式
另外一个是swiper.js这个是插件的主体部分。

在页面中引入这两个文件之后首先要写基本的html结构
下面所有的使用方式基于swiper 4.x

<div class="swiper-container">
  <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 class="swiper-slide">Slide 4</div>
    <div class="swiper-slide">Slide 5</div>
    <div class="swiper-slide">Slide 6</div>
    <div class="swiper-slide">Slide 7</div>
    <div class="swiper-slide">Slide 8</div>
    <div class="swiper-slide">Slide 9</div>
    <div class="swiper-slide">Slide 10</div>
  </div>
</div>

类名为swiper-container 是滑动轮播插件的包裹器,类似于一个mask,一个窗口,swiper-wrapper是一个按照一定顺序排列的所有轮播图的集合,在默认情况下是左右排列,当鼠标或者触屏进行操作的时候,改变的是这个元素的位置,而达到轮播的效果。swiper-slide则是每个轮播图元素,在写好基本html结构之后,需要对这个轮播图进行初始化

<script>
  var swiper = new Swiper('.swiper-container');
</script>

这样就能生成一个默认的轮播图,可以用鼠标或者触摸屏来进行左右的滑动

添加分页与导航

大部分的轮播图都有分页,导航,可以让用户看到目前是在什么位置,并且让用户知道这是一个可以交互的部分,添加分页的方式也很简单,只需要在初始化的时候添加选项指定一下分页的元素就行
html部分,在swiper-container下面添加下一个与上一个按钮

<div class="swiper-container">
  <div class="swiper-wrapper">...</div>
  <div class="swiper-button-next"></div>
  <div class="swiper-button-prev"></div>
</div>

在这里swiper-button-next和swiper-button-prev都是指定好的按钮,下一个按钮会垂直居中并且靠右边,上一个按钮会垂直居中靠右边,当然也能自己指定按钮。

var swiper = new Swiper('.swiper-container',{
  navigation:{
    nextEl: '.swiper-button-next',
    prevEl: '.swiper-button-prev',
  }
});

在初始化函数中添加按钮元素。这样就能生成一个有导航按钮的轮播图了

siwper导航

添加分页的方式和导航按钮非常类似

html:

<div class="swiper-container">
  <div class="swiper-wrapper">
    ...
  </div>
  <!-- 分页 -->
  <div class="swiper-pagination"></div>
  <!--导航按钮-->
  <div class="swiper-button-next"></div>
  <div class="swiper-button-prev"></div>
</div>

在初始化的时候加入分页元素

js:

var swiper = new Swiper('.swiper-container', {
  pagination: {
    el: '.swiper-pagination',
  },
  navigation:{
    nextEl: '.swiper-button-next',
    prevEl: '.swiper-button-prev',
  }
});

这样就能生成有分页又有导航的轮播图了

循环与自动轮播:

js:
在初始化的时候加入

var swiper = new Swiper('.swiper-container', {
  //分页
  pagination: {
    el: '.swiper-pagination',
  },
  //导航按钮
  navigation:{
    nextEl: '.swiper-button-next',
    prevEl: '.swiper-button-prev',
  },
  //自动轮播
  autoplay: {
    delay: 2500,//时间 毫秒
    disableOnInteraction: false,//用户操作之后是否停止自动轮播默认true 
  },
  loop:true,//循环 最后面一个往后面滑动会滑到第一个
});

其他常用属性
分页用进度条代替

var swiper = new Swiper('.swiper-container', {
  pagination: {
    el: '.swiper-pagination',
    type: 'progressbar',//将分页的类型改为进度条就行
  },
  navigation:{
    nextEl: '.swiper-button-next',
    prevEl: '.swiper-button-prev',
  },
  autoplay: {
    delay: 2500,
    disableOnInteraction: false,
  },
});
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • vue-awesome-swiper是基于swiper的,安装不同版本的vue-awesome-swiper对应不...
    秋分落叶阅读 8,698评论 0赞 0
  • swiper插件的官网:https://www.swiper.com.cn/ 在这个插件网站上,你可以看到“中文教...
    houxnan阅读 3,895评论 0赞 0
  • 本人师若森,男,今年34岁,学历:大专(网络远程教育所得),做防腐保温工程技术员,目前从事这个行业有十年了,回想以...
    天天向上_e9c8阅读 377评论 0赞 0
  • 首先,我们乘坐公交车到了到了黄河湿地公园。刚下车就好像受到了太阳格外的“照顾”似的,不一会儿就汗流浃背了。
    乄鎭鈊愛妳_d484阅读 230评论 0赞 0
  • 我不愿再我离开时被别人指着脊梁骨骂,我也不愿意我在时别人在背后说闲话。 我努力做好自己的每一件事,包括...
    自律后的我阅读 628评论 2赞 4

友情链接更多精彩内容