移动端h5轮播插件swipe实例详解
swipe.js是一个轻量级js触摸滑动类库 – Swipe JS。这是一个非常小的一个javascript类库,但他的功能却不简单,它可以用来展示web页面上的任何内容,支持精确的触摸移动操作,而且还可以设置自动播放、等比例缩放等等实用性的功能。
在移动端的h5页面里,我们经常会有轮播图的需求,如果不需要太多的效果,只是简单的手指滑动和自动轮换效果的话,我比较推荐swipe插件,不过百度搜索到的这个插件,里面介绍的不是很完整,我给大家补充下可能需要的功能。
Swipe函数介绍
下面就为大家介绍下Swipe JS的使用方法,Swipe有以下几个参数:
startSlide: 4, //起始图片切换的索引位置 auto: 3000, //设置自动切换时间,单位毫秒 continuous: true, //无限循环的图片切换效果 disableScroll: true, //阻止由于触摸而滚动屏幕 stopPropagation: false, //停止滑动事件 callback: function(index, element) {}, //回调函数,切换时触发 transitionEnd: function(index, element) {} //回调函数,切换结束调用该函数。
除此之外,还有一些比较常用的API方法,例如:
prev():上一页 next():下一页 getPos():获取当前页的索引 getNumSlides():获取所有项的个数 slide(index, duration):滑动方法
Swipe使用方法
了解基本函数方法后,我们就来看看使用方法。
首先是HTML结构:
<p id="slider" class="swipe"> <p class="swipe-wrap"> <p></p> <p></p> <p></p> </p> </p>
然后是样式代码:
.swipe { overflow: hidden; visibility: hidden; position: relative; } .swipe-wrap { overflow: hidden; position: relative; } .swipe-wrap > figure { float: left; width: 100%; position: relative; }
最后设置JS绑定以及参数设置:
var slider = Swipe(document.getElementById('slider'), { ………… ………… });
在这里只要把上面介绍的函数参数写在里面,就可以实现相对应的功能。
最后我们也可以给滑动切换添加上下按钮:
<button onclick="Swipe.prev()">prev</button> <button onclick="Swipe.next()">next</button>
另外我进行一些分页器效果的补充吧:
如果需要分页那个点的效果的话,可以这么添加代码:
nav标签部分就是分页器的相关部分拉,多少个slide就多少个li标签(如果需要分页器效果的童鞋就添加一个nav和ul标签即可,因为代表分页点的li标签需要动态生成,如果你是动态添加的轮播模块!)
<nav> <ul id="position"> <!-- <li class="on"></li> <li class=""></li> <li class=""></li> <li class=""></li> --> </ul> </nav>
对应的实例化代码(有更简化写法的童鞋可以用自己的方法):
var slider = Swipe(document.getElementById('slider'), { auto: 3000, continuous: true, callback: function(pos) { var i = bullets.length; while (i--) { bullets[i].className = ' '; } bullets[pos].className = 'on'; } }); var slides = document.querySelectorAll('.swipe-wrap figure').length; var liBox = document.getElementById('position'); var liTab; for (var i = 0; i < slides; i++) { liTab = document.createElement('li'); if (i == 0) { liTab.className = 'on'; } liBox.appendChild(liTab); }; var bullets = document.getElementById('position').getElementsByTagName('li');
还有个关键的地方,这个插件在手指滑动过一次slide模块后就会stop了,不会再自动轮播,这时候需要到swipe.js里去修改一下源码:
这样这个插件基本就能正常运行满足你最基本的需求了。
相关推荐:
Swiper在移动端的用法
vue swiper实现组件化开发详解
JS中Swiper的用法介绍
以上就是移动端h5轮播插件swipe实例详解的详细内容,更多请关注其它相关文章!