2015年1月7日更新:该插件存在些许不足,更多解决方案请戳《Swiper slider 具有硬件加速的移动端触摸滑块插件》。
想必做移动前端的同学经常会接到这样子的一个需求,就是在移动设备页面上的banner图能够用手指触摸左右或上下的滑动切换,这在移动设备是个很常见的一个效果,其用户体验远甚于点击一个按钮区域,通过手指的触摸操作也是移动设备的中一个特性,我们必须专业化的处理,哈哈。其实实现原理很简单,但平常中自己开发不是很方便。
今天就为大家带来这样子的一个轻量级js触摸滑动类库 – Swipe JS。这是一个非常小的一个javascript类库,但他的功能却不简单,它可以用来展示web页面上的任何内容,支持精确的触摸移动操作,而且还可以设置自动播放、等比例缩放等等实用性的功能。
用手机浏览才能体验到触摸滑动的效果哦!
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结构:
<div id="slider" class="swipe"> <div class="swipe-wrap"> <div></div> <div></div> <div></div> </div> </div>
然后是样式代码:
.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>
到这里我们已经完成了图片滑动的效果了,是不是非常的方便快捷呢?赶紧动手试试看吧。
如果你有类似的优秀js类库,不妨和我们一起分享,让我们进步的更快。
Swipe 官网:http://bradbirdsall.com/
2015年1月7日更新:该插件存在些许不足,更多解决方案请戳《Swiper slider 具有硬件加速的移动端触摸滑块插件》。
怎么改变参数让它上下滑动啊?
在不同的项目可以选择适合的解决方案。
两张图轮播的bug,callback中传入的参数的问题,改一下callback中的变量即可解决
callback: function(cur) {
if (cur%2==0) {
cur = 0;
} else {
cur = 1;
}
console.log(cur);
var i = li.length;
while (i–) {
li[i].className = ”;
}
li[cur].className = ‘cur’;
},
这个压缩后比较小,只有8K,适合移动端使用,
swiper slider太大了,压缩后70K,而且也没找到定制的入口,功能太多,反而显得臃肿,不适合移动端使用
不错的解决方案,赞一个;在不同的项目可以选择适合的解决方案。
最好同时兼容pc,这样用电脑和手机就它够了
有bug,手动滑过之后就不自动播放了~不知道怎么解决了~
您好,swipe发现只要是在两张照片的情况下,会在chrome的F12调试中的Elements选项中发现swipe js使用js动态创建出来了4个div,请问这个要怎么解决好
只有在两张图片的时候,这个插件存在一些bug。
为什么一个页面有多个滑动组只显示一个
有bug!android手机,自动切换功能在手滑动之后失效了。
这个不错。但是为何没有上下滑动效果呢?