移动端滑动插件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 相关文章推荐
javascript 日期常用的方法
Nov 11 Javascript
js实现页面跳转重定向的几种方式
May 29 Javascript
textarea不能通过maxlength属性来限制字数的解决方法
Sep 01 Javascript
javascript制作游戏开发碰撞检测的封装代码
Mar 31 Javascript
Express实现前端后端通信上传图片之存储数据库(mysql)傻瓜式教程(一)
Dec 10 Javascript
javascript中的3种继承实现方法
Jan 27 Javascript
一个用jquery写的判断div滚动条到底部的方法【推荐】
Apr 29 Javascript
微信小程序 Flex布局详解
Oct 09 Javascript
JavaScript函数基础详解
Feb 03 Javascript
JS判断非空至少输入两个字符的简单实现方法
Jun 23 Javascript
Angular Renderer (渲染器)的具体使用
May 03 Javascript
Angular7中创建组件/自定义指令/管道的方法实例详解
Apr 02 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通用检测函数集合
2011/02/08 PHP
Php图像处理类代码分享
2012/01/19 PHP
thinkphp中连接oracle时封装方法无法用的解决办法
2013/06/17 PHP
php实现粘贴截图并完成上传功能
2015/05/17 PHP
PHP6新特性分析
2016/03/03 PHP
PHP编程实现csv文件导入mysql数据库的方法
2017/04/29 PHP
JavaScript 申明函数的三种方法 每个函数就是一个对象(一)
2009/12/04 Javascript
javaScript使用EL表达式的几种方式
2014/05/27 Javascript
IE浏览器不支持getElementsByClassName的解决方法
2014/08/27 Javascript
解决JS请求服务器gbk文件乱码的问题
2015/10/16 Javascript
javascript常用经典算法实例详解
2015/11/25 Javascript
使用EVAL处理jqchart jquery 折线图返回数据无效的解决办法
2015/11/26 Javascript
jQuery.form插件的使用及跨域异步上传文件
2016/04/27 Javascript
Vuejs第一篇之入门教程详解(单向绑定、双向绑定、列表渲染、响应函数)
2016/09/09 Javascript
jQuery实现对象转为url参数的方法
2017/01/11 Javascript
JavaScrip数组删除特定元素的几种方法总结
2017/09/06 Javascript
bootstrap table方法之expandRow-collapseRow展开或关闭当前行数据
2020/08/09 Javascript
vue父组件向子组件(props)传递数据的方法
2018/01/02 Javascript
利用Decorator如何控制Koa路由详解
2018/06/26 Javascript
jQuery 同时获取多个标签的指定内容并储存为数组
2018/11/20 jQuery
详解vue父子组件关于模态框状态的绑定方案
2019/06/05 Javascript
vue封装swiper代码实例解析
2019/10/08 Javascript
JavaScript this关键字的深入详解
2021/01/14 Javascript
vue 中this.$set 动态绑定数据的案例讲解
2021/01/29 Vue.js
[01:34:42]NAVI vs EG 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
精确查找PHP WEBSHELL木马的方法(1)
2011/04/12 Python
浅析python中SQLAlchemy排序的一个坑
2017/02/24 Python
python决策树之CART分类回归树详解
2017/12/20 Python
Python3实现腾讯云OCR识别
2018/11/27 Python
详解Python解决抓取内容乱码问题(decode和encode解码)
2019/03/29 Python
ansible动态Inventory主机清单配置遇到的坑
2020/01/19 Python
python中加背景音乐如何操作
2020/07/19 Python
10个很棒的 CSS3 开发工具 推荐
2011/05/16 HTML / CSS
HelloFresh奥地利:立即订购烹饪盒
2019/02/22 全球购物
2014年3.15团委活动总结
2014/03/16 职场文书
创业计划书之冷饮店
2019/09/27 职场文书