移动端滑动插件Swipe教程


Posted in Javascript onOctober 16, 2016

前言

最近需要开发一个新的“微信活动平台”,手机端主页需要用到一个幻灯片。因为好一段时间没有全部手写移动端页面了,遂又重新找了一个下有没有什么好的幻灯片插件,毕竟重复造轮子没有必要啊。

综合比较后发现,Swipe 这款插件还是比较不错的,所以这里特地写一篇文章以像大家推荐,并且作为记录,方便下次查看。

简介

Swipe 是一个轻量级的移动滑动组件,这点从文件大小不难看出。它支持 1:1 的触摸移动,阻力以及防滑。单纯从移动端来使用,应该满足基本的需求了。

说明

从github下载后,可以发现,总共就8个文件,其中可能真正项目中用得到的,也基本就是1个 swipe.js 文件。
index.html 和 style.css 本身是作为演示存在的,有兴趣的可以研究一下。

那么我们具体如果使用它呢?很简单,基本只要如下代码即可:

<!DOCTYPE html>
<html lang="zh">
<head>
  <meta charset="UTF-8">
  <title>演示</title>
  <!-- 首先引入JQuery -->
  <script src="http://apps.bdimg.com/libs/jquery/2.1.1/jquery.min.js"></script>
  <!-- 引入核心swipe.js文件 -->
  <script src="swipe.js"></script>
  <!-- 幻灯片基础样式 -->
  <style>
    .swipe {
     overflow: hidden;
     visibility: hidden;
     position: relative;
    }
    .swipe-wrap {
     overflow: hidden;
     position: relative;
    }
    .swipe-wrap > div {
     float:left;
     width:100%;
     position: relative;
     font-size:140px; /* 这里样式是为了演示方便,我特意加的 */
    }
  </style>
</head>
<body>
  <!-- 幻灯片实例代买,前两层是外围容器 -->
  <div id='slider' class='swipe'>
   <div class='swipe-wrap'>
    <!-- 这三个是幻灯片内容,其中1,2,3等数字可换成图片,样式根据需求更改即可 -->
    <div>1</div>
    <div>2</div>
    <div>3</div>
   </div>
  </div>
  <!-- 页面幻灯片运行脚本(初始化) -->
  <script>
    window.mySwipe = Swipe(document.getElementById('slider'));
  </script>
</body>
</html>

以上代码运行结果:

 

通过鼠标点击或者放到手机上手指滑动,就可以看见幻灯片的运行效果了。当然,当前只是最基本的,全部都是默认配置。我们完全可以通过下面提供的参数,结合自己的需求,自义定出更好的效果来。

startSlide Integer (default:0) - index position Swipe should start at(滑动的索引值,即从*值开始滑动,默认值为0)

speed Integer (default:300) - speed of prev and next transitions in milliseconds.(滑动的速度,默认值300毫秒)

auto Integer - begin with auto slideshow (time in milliseconds between slides)(自动滑动,单位为毫秒)

continuous Boolean (default:true) - create an infinite feel with no endpoints(是否循环滑动,默认值为true)

disableScroll Boolean (default:false) - stop any touches on this container from scrolling the page(停止任何触及此容器上滚动页面,默认值flase)

stopPropagation Boolean (default:false) - stop event propagation(停止事件传播,默认值flase)

callback Function - runs at slide change.(回调函数)

transitionEnd Function - runs at the end slide transition.(滑动过渡时调用的函数)

下面就是官方给的演示例子:

window.mySwipe = new Swipe(document.getElementById('slider'), {
 startSlide: 2,
 speed: 400,
 auto: 3000,
 continuous: true,
 disableScroll: false,
 stopPropagation: false,
 callback: function(index, elem) {},
 transitionEnd: function(index, elem) {}
});

从中我们不难看出具体参数的使用方法和位置。这一个如果感兴趣,可以根据需要,自己加入参数试试,都是以json对象存在于Swipe的第二个参数的。

那么除了以上参数,Swipe还提供了一些常用的方法(API):

prev() slide to prev(上一页)

next() slide to next(下一页)

getPos() returns current slide index position(获取当前索引位置)

getNumSlides() returns the total amount of slides(获取所有滑块总数)

slide(index, duration) slide to set index position (duration: speed of transition in milliseconds)(指数,持续时间)滑动设置索引位置(持续时间:转型速度以毫秒为单位)

都是一些简单的接口方法,你可以Js调用他们以达到你想要的效果。

下载地址:https://github.com/thebird/swipe/

Javascript 相关文章推荐
JS 文件传参及处理技巧分析
May 13 Javascript
编写可维护面向对象的JavaScript代码[翻译]
Feb 12 Javascript
基于jquery的无限级联下拉框js插件
Oct 29 Javascript
Jquery submit()无法提交问题
Apr 21 Javascript
JavaScript实现复制功能各浏览器支持情况实测
Jul 18 Javascript
详解JavaScript正则表达式之分组匹配及反向引用
Mar 09 Javascript
解决jquery无法找到其他父级子集问题的方法
May 10 Javascript
在javascript中创建对象的各种模式解析
May 16 Javascript
基于cssSlidy.js插件实现响应式手机图片轮播效果
Aug 30 Javascript
AngularJS折叠菜单实现方法示例
May 18 Javascript
微信小程序学习笔记之文件上传、下载操作图文详解
Mar 29 Javascript
vue 根据选择条件显示指定参数的例子
Nov 09 Javascript
类似于QQ的右滑删除效果的实现方法
Oct 16 #Javascript
js实现点击图片自动提交action的简单方法
Oct 16 #Javascript
jQuery监听文件上传实现进度条效果的方法
Oct 16 #Javascript
浅谈js对象的创建和对6种继承模式的理解和遐想
Oct 16 #Javascript
利用jQuery对无序列表排序的简单方法
Oct 16 #Javascript
JS实现动态增加和删除li标签行的实例代码
Oct 16 #Javascript
js利用appendChild对标签进行排序的实现方法
Oct 16 #Javascript
You might like
php获取当前网址url并替换参数或网址的方法
2010/06/06 PHP
php stripslashes和addslashes的区别
2014/02/03 PHP
php生成与读取excel文件
2016/10/14 PHP
tp5.1 框架数据库高级查询技巧实例总结
2020/05/25 PHP
Javascript 判断 object 的特定类转载
2007/02/01 Javascript
javascript下操作css的float属性的特殊写法
2007/08/22 Javascript
让任务管理器中的CPU跳舞的js代码
2008/11/01 Javascript
js 判断计算字符串长度/判断空的简单方法
2013/08/05 Javascript
浏览器页面区域大小的js获取方法
2013/09/21 Javascript
js在IE与firefox的差异集锦
2014/11/11 Javascript
轻量级的原生js日历插件calendar.js使用指南
2015/04/28 Javascript
谈谈我对JavaScript DOM事件的理解
2015/12/18 Javascript
深入浅析JavaScript中的scrollTop
2016/07/11 Javascript
Javascript别踩白块儿(钢琴块儿)小游戏实现代码
2017/07/20 Javascript
JavaScript使用Ajax上传文件的示例代码
2017/08/10 Javascript
简单实现jQuery上传图片显示预览功能
2020/06/29 jQuery
JS返回顶部实例代码
2020/08/09 Javascript
VueJs 搭建Axios接口请求工具
2017/11/20 Javascript
JavaScript实现元素滚动条到达一定位置循环追加内容
2017/12/28 Javascript
JS实现简单的表格增删
2020/01/16 Javascript
python统计一个文本中重复行数的方法
2014/11/19 Python
Python将xml和xsl转换为html的方法
2015/03/10 Python
python-itchat 获取微信群用户信息的实例
2019/02/21 Python
python 通过可变参数计算n个数的乘积方法
2019/06/13 Python
Python 类属性与实例属性,类对象与实例对象用法分析
2019/09/20 Python
python_array[0][0]与array[0,0]的区别详解
2020/02/18 Python
python numpy库linspace相同间隔采样的实现
2020/02/25 Python
python如何调用字典的key
2020/05/25 Python
Selenium 配置启动项参数的方法
2020/12/04 Python
HTML5应用之文件上传
2016/12/30 HTML / CSS
黄色火烈鸟:De Gele Flamingo
2019/03/18 全球购物
莫斯科的韩国化妆品店:Sifo
2019/12/04 全球购物
介绍一下SQL中union,intersect和minus
2012/04/05 面试题
领导干部贪图享乐整改措施
2014/09/21 职场文书
2014年大学生职业规划书:未来不是梦,只要勇敢冲!
2014/09/22 职场文书
golang 如何用反射reflect操作结构体
2021/04/28 Golang