资讯专栏INFORMATION COLUMN

移动端h5轮播插件swipe

funnyZhang / 3594人阅读

摘要:在移动端的页面里,我们经常会有轮播图的需求,如果不需要太多的效果,只是简单的手指滑动和自动轮换效果的话,我比较推荐插件,不过百度搜索到的这个插件,里面介绍的不是很完整,我给大家补充下可能需要的功能。

</>复制代码

  1. 在移动端的h5页面里,我们经常会有轮播图的需求,如果不需要太多的效果,只是简单的手指滑动和自动轮换效果的话,我比较推荐swipe插件,不过百度搜索到的这个插件,里面介绍的不是很完整,我给大家补充下可能需要的功能。

swipe.js是一个轻量级js触摸滑动类库 – Swipe JS。这是一个非常小的一个javascript类库,但他的功能却不简单,它可以用来展示web页面上的任何内容,支持精确的触摸移动操作,而且还可以设置自动播放、等比例缩放等等实用性的功能。

Swipe函数介绍

下面就为大家介绍下Swipe JS的使用方法,Swipe有以下几个参数:

</>复制代码

  1. startSlide: 4, //起始图片切换的索引位置
  2. auto: 3000, //设置自动切换时间,单位毫秒
  3. continuous: true, //无限循环的图片切换效果
  4. disableScroll: true, //阻止由于触摸而滚动屏幕
  5. stopPropagation: false, //停止滑动事件
  6. callback: function(index, element) {}, //回调函数,切换时触发
  7. transitionEnd: function(index, element) {} //回调函数,切换结束调用该函数。

除此之外,还有一些比较常用的API方法,例如:

</>复制代码

  1. prev():上一页
  2. next():下一页
  3. getPos():获取当前页的索引
  4. getNumSlides():获取所有项的个数
  5. slide(index, duration):滑动方法

Swipe使用方法

了解基本函数方法后,我们就来看看使用方法。

首先是HTML结构:

</>复制代码

然后是样式代码:

</>复制代码

  1. .swipe {
  2. overflow: hidden;
  3. visibility: hidden;
  4. position: relative;
  5. }
  6. .swipe-wrap {
  7. overflow: hidden;
  8. position: relative;
  9. }
  10. .swipe-wrap > figure {
  11. float: left;
  12. width: 100%;
  13. position: relative;
  14. }

最后设置JS绑定以及参数设置:

</>复制代码

  1. var slider = Swipe(document.getElementById("slider"), {
  2. …………
  3. …………
  4. });

在这里只要把上面介绍的函数参数写在里面,就可以实现相对应的功能。

最后我们也可以给滑动切换添加上下按钮:

</>复制代码

另外我进行一些分页器效果的补充吧:

如果需要分页那个点的效果的话,可以这么添加代码:

nav标签部分就是分页器的相关部分拉,多少个slide就多少个li标签(如果需要分页器效果的童鞋就添加一个nav和ul标签即可,因为代表分页点的li标签需要动态生成,如果你是动态添加的轮播模块!)

</>复制代码

对应的实例化代码(有更简化写法的童鞋可以用自己的方法):

</>复制代码

  1. var slider = Swipe(document.getElementById("slider"), {
  2. auto: 3000,
  3. continuous: true,
  4. callback: function(pos) {
  5. var i = bullets.length;
  6. while (i--) {
  7. bullets[i].className = " ";
  8. }
  9. bullets[pos].className = "on";
  10. }
  11. });
  12. var slides = document.querySelectorAll(".swipe-wrap figure").length;
  13. var liBox = document.getElementById("position");
  14. var liTab;
  15. for (var i = 0; i < slides; i++) {
  16. liTab = document.createElement("li");
  17. if (i == 0) {
  18. liTab.className = "on";
  19. }
  20. liBox.appendChild(liTab);
  21. };
  22. var bullets = document.getElementById("position").getElementsByTagName("li");

还有个关键的地方,这个插件在手指滑动过一次slide模块后就会stop了,不会再自动轮播,这时候需要到swipe.js里去修改一下源码:

这样这个插件基本就能正常运行满足你最基本的需求了。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/92689.html

相关文章

  • 移动h5轮播插件swipe

    摘要:在移动端的页面里,我们经常会有轮播图的需求,如果不需要太多的效果,只是简单的手指滑动和自动轮换效果的话,我比较推荐插件,不过百度搜索到的这个插件,里面介绍的不是很完整,我给大家补充下可能需要的功能。 在移动端的h5页面里,我们经常会有轮播图的需求,如果不需要太多的效果,只是简单的手指滑动和自动轮换效果的话,我比较推荐swipe插件,不过百度搜索到的这个插件,里面介绍的不是很完整,我给大...

    Juven 评论0 收藏0
  • 基于vue实现swipe轮播组件

    摘要:项目背景图片轮播是前端项目必有项,当前有很多效果很酷炫的轮播插件,例如。此处应该有掌声,哈哈简而言之,就是当需要一个简单的轮播时,可以选用,自己写一个组件。举个栗子,就是我实现的这个基于实现分页组件,移动端和端均适用哦。 项目背景 图片轮播是前端项目必有项,当前有很多效果很酷炫的轮播插件,例如Swiper。但是当项目中的图片轮播只需要一个很简单的轮播样式,比如这样的showImg(ht...

    Enlightenment 评论0 收藏0
  • 移动原生JS实现手指跟随的触控滑动

    摘要:为了模拟原生应用的触控效果,大量的应用使用了手指跟随的滑动效果,也就是用手指滑动幻灯片的效果,什么是手指跟随如图网上滑动插件有不少,但好像没一个好用的不是太多,就是不灵活这里用原生实现了该功能,不仅代码量不多,逻辑也较简单。 为了模拟原生应用的触控效果,大量的H5应用使用了手指跟随的滑动效果,也就是用手指滑动幻灯片的效果, 什么是手指跟随,如图;showImg(https://segm...

    时飞 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<