移动端轮播图滑动插件-swipe

最近在学习移动端的知识,学习了几个插件的使用,swipe和swiper都是移动端触摸滑动类的插件,使用方便,比自己写原生或者jQuery要简单很多,今天先总结一下swipe的基本使用和应用,swiper功能更多更酷炫,改天详细的总结一下。

swipe官网 github.com/bradbirdsal…

swipe.js是一个轻量级的移动滑动组件,支持触摸移动,支持响应式页面。

使用方法:

  • HTML
<section id="slider" class="swipe">
    <ul class="swipe-wrap">
        <li></li>
        <li></li>
        <li></li>
    </ul>
</section>
复制代码

结构有三层,最外层盒子要设置id和class,第二层盒子包裹着要滑动的元素要设置class,最内层就是滑动的元素了,不一定是ul和li,只要结构对了,用div也可以的。

  • CSS
.swipe{
    overflow: hidden;
    position: relative;
}
.swipe-wrap{
    over-flow:hidder;
    position:relative;
}
.swipe .swipe-wrap li{
    position: relative;
    float: left;
}
复制代码

这里css中只保留了必须设置的样式,其他样式根据自己需要设置就可以了。

  • JS中只需要添加一句
var slider = Swipe(document.getElementById('slider')
复制代码

就可以实现拖动了!

swipe还提供了一些参数的设置:

var slider = Swipe(document.getElementById('slider'), {
1. startSlide Integer (默认:0) - swipe开始的索引,就是开始滑动的那一页
2. speed Integer (默认:300) - 页面过渡的速度
3. auto Integer - 自动滑动 
4. continuous Boolean (默认:true) -是否可以循环播放
5. disableScroll Boolean (默认:false) - 停止触摸滑动
6. stopPropagation Boolean (默认:false) -停止事件传播
7. callback Function - 在成功过渡后执行
8. transitionEnd Function - 在动画结束后执行
});
复制代码

swipe扩展了几个函数,以便于更好的通过脚本来控制滑动。

prev() 上一页

next() 下一页

getPos() 返回当前的索引

getNumSlides() 返回滑块总数

slide(index, duration) 设置滑到的索引 (duration: 转化的速度,单位毫秒)
复制代码

swipe的问题:

  • swipe只提供简单轮播切换,想要在底部添加圆点颜色切换需要重新写html(例子中有添加圆点)。
  • 用手势滑动之后,自动滚动就会失效,这时一个bug,需要将swipe.js插件源代码进行修改,添加一个判断:
function stop() {
    var delay = 0;
    delay = options.auto > 0 ? options.auto : 0;
    clearTimeout(interval);
  }
复制代码
  • 适合简单的轮播需求,体积小,减少资源消耗。

下面是利用swipe做了两个小demo

1.模仿携程移动端,banner部分使用swipe制作轮播效果。

圆点要添加html结构,并且在js中利用callback函数给当前图对应的圆点加类名;圆点也要添加相应的点击事件。

2.模仿淘宝移动端平台通知,利用swipe制作了一个可以手势滑动切换的界面。

转载于:https://juejin.im/post/5a4644e1f265da4315243ce4

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值