Swipe JS – 移动WEB页面内容触摸滑动类库

分类栏目:用户体验 - 前端开发

510273

发布于 57 条评论

2015年1月7日更新:该插件存在些许不足,更多解决方案请戳《Swiper slider 具有硬件加速的移动端触摸滑块插件》。

想必做移动前端的同学经常会接到这样子的一个需求,就是在移动设备页面上的banner图能够用手指触摸左右或上下的滑动切换,这在移动设备是个很常见的一个效果,其用户体验远甚于点击一个按钮区域,通过手指的触摸操作也是移动设备的中一个特性,我们必须专业化的处理,哈哈。其实实现原理很简单,但平常中自己开发不是很方便。

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

移动设备触摸滑动展示

查看预览下载附件

erweima

用手机浏览才能体验到触摸滑动的效果哦!

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 具有硬件加速的移动端触摸滑块插件》。

全部评论 / 57

  1. 关于移动设备,zepto.js touch方法也可以实现,我的博客上写了“手机网站的几点注意”希望大家可以相互交流!

    http://www.haorooms.com/post/phone_web

    Aaron 2013-08-03
    20
  2. 这个不错。

    19
  3. 示例有个BUG,在手机上,下边的蓝点跟所示的图片序号不一致:比如在第一张滑到第二张时,蓝点依然停在一上,在第四滑回三时,也是停在四上。而且使用滑动之后,图片就不再自动滚动。

    七巧心紫刃 2013-08-03
    18
  4. 为什么4张图有些显示,有些却是空白。。 如果宽度是100%,高度是自适应
    外层超出隐藏内容是看不见的

    JW 2013-08-03
    17
  5. 不给力啊,无触摸效果···

    test 2013-08-03
    16
  6. 请问为什么点击下面的圆点不能进行切换?

    dory 2013-08-03
    15
  7. ie 出现停播,prev
    next 这个两个加了没有反应

    SMALL 2013-08-03
    14
  8. @ 菜菜 :
    触摸滑动结束后,怎么样设置多少秒之后自动滑动

    weblss 2013-08-03
    13
  9. 触摸滑动结束后,怎么样设置多少秒之后自动滑动

    菜菜 2013-08-03
    12
  10. 大仙,我想问下,加入效果我自己写,我只想用他的滑动,如何修改呢?

    reyrey 2013-08-03
    11
  11. 上下滑动怎么做呀

    姜悔 2013-08-03
    10
  12. @ Frontier :
    触摸滑动之后图片自动播放停止了,我想让它继续自动播放,这怎么玩儿?

    mmmm 2013-08-03
    9
  13. 非常好的blog,感谢LZ分享经验~!
    非常好的blog,感谢LZ分享经验~!

    小情 2013-08-03
    8
  14. 很喜欢

    adti 2013-08-03
    7
  15. 触摸滑动之后图片自动播放停止了,我想让它继续自动播放,这怎么玩儿?

    Frontier 2013-08-03
    6
    1. 我也碰到同样的问题,你解决了吗?

      馄饨 2013-08-03
      1. 没有,这两天在做其他的事,没时间去看

        Frontier 2013-08-03
  16. 好久没更新了哦1 :o

    5
  17. 非常好的blog,感谢LZ分享经验~!

    4
  18. 学习!

    3
  19. 有时间就去试试 :twisted:

    向往 2013-08-03
    2