Swiper说明&&API手册
最近使用Swipe.js,发现中文的资料很少,试着翻译了一下。能力有限,翻译难免错漏,欢迎指出,多谢!
翻译自:http://www.idangero.us/sliders/swiper/api.php
http://www.idangero.us/sliders/swiper/index.php
一了解Swiper
Swiper 是一款免费以及轻量级的移动设备触控滑块的框架,使用硬件加速过渡(如果该设备支持的话)。主要使用与移动端的网站、网页应用程序(web apps),以及原生的应用程序(native apps)。主要是为IOS而设计的,同时,在Android、WP8系统以及现代桌面浏览器也有着良好的用户体验。
特征(feature)
1、1:1触控运动
Swiper默认提供1:1的触控距离,当然,这个比率是可以设置的。(touchRatio)
2、触控模仿
这个功能对于开发桌面网站会很有用。简单来说,就是因为Swiper能够让鼠标事件表现得像触屏事件(点击以及拖曳滑块)
3、水平/垂直
Swiper运动主要有两种模式,horizontal(水平滑动)以及vertical(垂直运动的滑动)
4、自由模式(Free Mode)
这种模式下能够让slides 无需定位,就像通常的滑动条。(看下面的例子)
5、旋转调整 (rotation/resize)
Swiper 在移动设备旋转后能自适应尺寸。
6、响应式
能使用百分比的宽高定义slides,为移动端提供不同的解决方案。
7、滑动阻止
简单来说,就是,只能使用一种模式,水平或者垂直滑动。
8、抵抗反弹(resistant bounds)
Swiper能够提供一种机制,就是当滑动滑块超过最左以及最右(最上或最下)的位置时触发的一种抵御机制。
9、原生要素(native momentum)
有不少的原生东西提供给Swiper。
10、内建分页控制
Swiper能够快速生成内建的分页控制(pagination),指定html 某一标签为pagination,Swiper就能做很多东西了。
11、自动播放
只用设置延迟时间,Swiper就会自动地轮播slides直到你触碰该滑块(touch)为止。
12、循环模式(Loop mode)
该种模式下,你能够无限滑动滑块,到最后一个之后会跳转回第一个。
13、旋转模式(Carousel mode)
Swiper 能够让你在slides父容器下设置你所需要展示的slides数量。
14、滑动容器
在该特征下能够使用Swiper在一些简单的能滑动的区域里,没有slides。在Apps里十分有用。
15、嵌套Swipers
能够将Swipers嵌套入各种不同的Swiper 的slide里,例如垂直的或水平的。
16、任意的HTML 标签
可以将任一的HTML 内容放到slide里,不止仅限于图像。
17、硬件加速
swiper 使用硬件加速技术(如果该移动设备支持的话)能够得到良好流畅的动画效果以及优美的外观,尤其是在IOS设备里。
18、丰富的API
Swiper拥有丰富的API接口。(不过关于中文文档似乎不多,没找着。)能够让开发者生成个人独有的分页器(pagination),上下滑块的按钮以及4个回调函数:onTouchStart,onTouchMove,onTouchEnd,onSlideSwitch。
19、灵活的配置
Swiper在初始化的时候能够接受多个参数以便让其尽可能的灵活。能够配置动画的速度(speed),模式(mode水平抑或垂直的),以及自由模式(free mode)...以及其他..
20、插件API(Plugins API)
Swiper从1.7版本开始就变得强大起来了,因为有更多而简单的插件API允许开发者创造属于自己的Swiper 插件或通过Swiper的核心创制hooks(挂钩)(该官网处提供了几款优秀的插件Swiper smooth progress, Swiper hash navigation,swiper scrollbar)
21、良好的兼容性
Swiper通用性的测试环境:移动端的Safari(iOS5下),Android 2.1+,windows Phone 8,以及最新版本的谷歌浏览器(Chrome),Safari,Firefox,IE10 以及欧朋浏览器(Opera)
22、老版本IE的兼容
Swiper 2.x 开始,通过DOM动画,而非css transitions 兼容IE7 以上(需要包含jQuery),因为IE7不支持css3 transitions....简单来说,支持IE7 以上版本。
23、独立性
Swiper不依赖像jQuery那样的js类库,因此能够让Swiper更加的小型以及快速。所以Swiper能够很安全地应用诸如jQuery、jQuery Mobile,jQTouch等等其他的js类库。
24、超轻量级
压缩后仅仅10KB左右。
以上,就是Swiper能够做的,应用以上特征就使用原生属性方法能够快速生成令人惊叹的触控接口以及apps。
Usage: 1、下载swiper最新版本https://github.com/nolimits4web/Swiper 2、在HTML Head中添加Swiper's CSS and JS: <head> 其中引用的文件名以下载的为准。 3、使用下面的HTML布局 <div class="swiper-container"> 4、打开下载的文件中的idangerous.swiper.css,设置Swiper's的宽度以及高度(在文件的末尾) /* 指定swiper 容器尺寸: */ .swiper-container, .swiper-slide { 5、初始化Swiper 在文档开始处,(或在窗口加载时) <script type="text/javascript"> API: new Swiper(container,options) container: 字符串要求,Swiper's容器的css选择器。在上面的HTML代码中就必须等于“.swiper-container”; options:-对象,可选择的。Swiper参数,详情见下: 用法: var mySwiper = new Swiper(".swiper-container",{ 返回拥有众多有用函数(functions)以及方法(methods)的对象: ·mySwiper.disableMousewheelControl()-滑动中禁掉鼠标滑轮(mousewheel control)控制 ·mySwiper.enableMousewheelControl()-能够使用禁掉了的鼠标滑轮 ·mySwiper.enableKeyboardControl()-滑动中键盘控制可用 ·mySwiper.disableKeyboardControl()-禁用滑动中键盘控制 ·mySwiper.swipeNext()-执行过渡动画到下一滑块(slide)(简单来说就是滑动到下一个页面) ·mySwiper.swipePrev()-执行过渡动画到上一滑块 ·mySwiper.swipeTo(index,speed,runCallbacks) - 执行过渡到索引下标数字等于传入参数“index”的页面(slide)处,速度为传入的参数“speed”。同时可将“runCallbacks”设置为false(默认为“true”),那么transition(过渡)不会产生onSlideChange回调函数。 ·mySwiper.browser.ie10 - 返回 “true”如果浏览器为IE10 ·mySwiper.browser.is8 -返回 “true”如果浏览器为IE8 ·mySwiper.support.touch -返回 “true”如果浏览器支持触屏 ·mySwiper.support.transforms -返回 “true”如果浏览器支持css3 transforms(变形) ·mySwiper.support.transforms3d -返回 “true”如果浏览器支持css3 3D transforms(变形) ·mySwiper.support.transitions -返回 “true”如果浏览器支持css3 transitions(过渡) ·mySwiper.activeSlide() - 返回当前活动块(slide)(slide 实例,HTML元素) ·mySwiper.clickedSlideIndex - 返回触控/点击块(slide)的索引(数字)。只适用于“onSlideTouch”和“onSlideClick” 回调函数中。 ·mySwiper.clickedSlide - 返回触控/点击块(slide)(slide实例,HTML元素)。只适于“onSlideTouch”和“onSlideClick” 回调函数中。 ·mySwiper.activeIndex- 返回当前活动块的索引(number) ·mySwiper.activeLoopIndex- 返回当前活动块在loop 模式下的索引(number) ·mySwiper.activeLoaderIndex- 返回当前活动块在loader模式下的索引(number) ·mySwiper.previousIndex- 返回上一个活动块的索引(number) ·mySwiper.startAutoplay()-开始自动播放。应用于自定义“Play”和“Pause”按钮 ·mySwiper.stopAutoplay()-停止自动播放。应用于自定义“Play”和“Pause”按钮 ·mySwiper.destroy(removeResizeEvent) -移除所有绑定的事件监听(窗口的尺寸改变事件【如果removeResizeEvent的值不等于“false”】,容器(wrapper)的触控事件,以及文档的鼠标事件),对于添加/移除滑块,页面到文档时非常有用,能够释放浏览器内存。 ·mySwiper.resizeFix()-调用这个方法当你改变swiper's 的尺寸而没有改变窗口大小时。 ·mySwiper.reInit()- 重新初始化Swiper。对于动态添加/移除滑块非常有用。 ·mySwiper.width 返回Swiper容器的宽度 ·mySwiper.height返回Swiper容器的高度 ·mySwiper.isTouched 返回布尔值,当触控该slide时返回“true” ·mySwiper.positions - 返回包含x,y坐标的wrapper对象 ·mySwiper.touches - 返回包含触控信息的对象数组 ·mySwiper.params - 获取对象初始化参数,能够在初始化之后改变/重写该参数,如: mySwiper.params.speed = 500; ·mySwiper.getWrapperTranslate(axis)-返回当前容器“位移(translate)"【css3 transform ->translate】,即x,或y轴的偏移量。”axis“-参数为字符串”x“或”y“,对应于水平模式及垂直模式。 ·mySwiper.setWrapperTranslate(x,y,z) - 手工设置css3 transform's translate 的值。x,y and z -为数字 ·mySwiper.wrapperTransitionEnd(callback,permanent) - 使用该方法当Swiper ”transitionEnd“事件触发后能够自定义回调函数(在swipeNext,swipePrev,swipeTo 以及swipeReset 函数之后): callback-函数(function)。默认状态下(如果permanent 值为false)transitions只执行一次 permanent - boolean . 默认状态下为false,当设置为真时该回调函数callback会执行多次。 选项(options) Swiper 初始化 支持下列中的参数
自由模式与滑块容器(Free Mode and Scroll Container)
块(slides)偏移
触屏/鼠标事件效应(Touch/mouse interactions )
Navigation
Pagination(分页器)(指示器)
命名空间namespace
回调函数(Callbacks)
Example 以下需要引用jQuery文件 <script src="js/jquery-1.10.1.min.js"></script> <script type="text/javascript"> $(document).ready(function(){ var mySwiper = $('.swiper-container').swiper({ mode : 'vertical', //选择垂直模式, speed : 500, //设置动画持续时间500ms freeMode : true, //开启自由模式 freeModeFluid : true, //开启'fluid'自由模式 onTouchStart : function() { //触控滑块时执行代码 alert('OMG you touch the slide!') } } }) </script> Callbacks API 从Swiper2.4版本开始增加了一些回调函数,现在添加一些函数到上面。 当初始化Swiper时,旧版本指定回调函数的方式: $(document).ready(function(){ var mySwiper = new Swiper('.swiper-container',{ mode:'vertical', speed: 600, onSlideChangeStart: function(swiper){ alert('Hello 1'); } }); }); 新版本中能够实现无需完全重写onSlideChangeStart参数,可以添加新函数到回调函数中。 mySwiper.addCallback('SlideChangeStart', function(swiper){ alert('Hello 2'); }) 你会发觉在过渡动画开始时弹出“Hello 1” 以及“Hello 2“,该种方式下addCallback方法需要注意该回调函数名不包含”on“。 解除(fire)callback 函数语句: mySwiper.fireCallback('SlideChangEnd',mySwiper); 移除(remove)callbacks: mySwiper.removeCallback('SlideChangEnd'); Slides API Swiper提供强大的Slides API,能够动态生成/删除/操作Slides(滑块) Slide 实例 这个实例是简单的HTML元素但扩展了非常有用的方法。 下面的例子变量mySwiper包含了属性和方法的Swiper对象。 <script type="text/javascript"> 通过调用一下方法,你能生成Swiper滑块实例: mySwiper.createSlide(html,slideClassList,element),其中:
var mySwiper = $(".swiper-container").swiper({...some optins...}) //创建一个新的swiper实例 var newSlide = mySwiper.createSlide("<p>Here is my new slide</p>"); //生成的HTML滑块:"<div class="swiper-slide"><p>Here is my new slide</p></div>" var newSlide = mySwiper.createSlide("<p>Hello</p>","swiper-slide red-slide","span"); //生成的HTML滑块:"<span class="swiper-slide red-slide"><p>Hello</p></span>" "newSlide"变量包含在新建Slide实例之后,但如今还在内存中,并不在slider中。为了将其添加到slider中,能够使用一下链式方法有效地添加到Slide实例中:
//例子 var mySwiper = $(".swiper-container").swiper({...some optins...}) var newSlide = mySwiper.createSlide("<p>Here is my new slide</p>"); newSlide.append()//newSlide添加到所有已存在的slides后面 var newSlide = mySwiper.createSlide("<p>Hello</p>","swiper-slide red-slide","span"); newSlide.prepend()//-newSlide添加到所有已存在的slides的前面(第一个位置) //复制、插入Slide var clonedSlide = newSlide.clone(); clonedSlide.append(); //crazy 链式 var newSlide = mySwiper.createSlide("<p>Here is my new slide</p>"); newSlide.prepend().clone().append().clone().inertAfter(2) //-新创建的slide被添加到所有已存在的slide前面,然后复制slide并添加到最后,接着在复制添加到index为2的位置上 还有一些有用的方法:
如果innerHTML没有指定,返回slide中inner html内容。
//例子 var mySwiper = $('.swiper-container').swiper({...some options...}) //创建slide实例 Swiper Slides 好的,让我们看看swiper是如何操作存在的slides(添加/移除)
html(string[字符型],required[必需的])-生成的滑块的HTML元素的内容 slideClassList(stirng[字符型],optional[可选的])- 创建类”class“属性。缺省值为"swiper-slide " element(string[字符型],optional[可选的])-创建滑块的HTML标签,缺省值为"div"
//例子: //创建slide并插入 Important Notes |
Swiper说明&&API手册的更多相关文章
- Swiper说明&&API手册 【中文手册Swiper】
原文地址:http://www.cnblogs.com/scavengers/p/3760449.html 示例: <link rel="stylesheet" href= ...
- Swiper 中文API手册(share)
本文分享自 http://www.cnblogs.com/scavengers/p/3760449.html ---------------------------华丽的分割线------------ ...
- 微信小店 API 手册
微信商铺API手册V1.13 目录 1. 商品管理接口.................................................................... ...
- API手册(2017)
本页存放内容: API手册. 少量教程 [旧的工具页面] (是一些旧的页面.不放在外面了,这里做个索引) http://www.cnblogs.com/qq21270/p/3538677.html 常 ...
- Swiper.js 中文API手册
本文分享自 http://www.cnblogs.com/scavengers/p/3760449.html ---------------------------华丽的分割线------------ ...
- Swiper说明及API手册说明
最近使用Swipe.js,发现中文的资料很少,试着翻译了一下.能力有限,翻译难免错漏,欢迎指出,多谢! 翻译自:http://www.idangero.us/sliders/swiper/api.ph ...
- Swiper Usage&&API
最近使用Swipe.js,发现中文的资料很少,试着翻译了一下.能力有限,翻译难免错漏,请指出,多谢!如果想获得国外较多而全的文档,还是用google. 一了解SwiperSwiper 是一款免费以及轻 ...
- arduino api手册
本文由博主原创,如有不对之处请指明,转载请说明出处. arduino 函数 api 程序结构 在Arduino中, 标准的程序入口main函数在内部被定义, 用户只需要关心以下两个函数:void se ...
- 前端技术API手册(2) -- CSS API 的实现
微信小程序 jQuery每日经典 第二阶段已经发布,截至目前收录的技术有jQuery和CSS.其他技术正在不断的填充完善中. CSS技术手册实现的方法: 资料来源 所有的CSS资料均参考自网址:htt ...
随机推荐
- nRF52系列来袭,Nordic的低功耗蓝牙方案大有可为
坐落在北欧的挪威不像他的邻居芬兰那样,可以先后依靠NOKIA和愤怒的小鸟在世界科技界享有盛名.在一般人看来,挪威除了一个逐渐式微的Opera浏览器以外,并没有更多拿得出手的科技企业.而事实证明这只 ...
- 《BI那点儿事》Cube的存储
关系 OLAP (ROLAP)ROLAP的基本数据和聚合数据均存放在关系数据库中:ROLAP 存储模式使得分区的聚合存储在关系数据库的表(在分区数据源中指定)中.但是,可为分区数据使用 ROLAP 存 ...
- 《BI那点儿事》数据流转换——查找转换
查找转换通过联接输入列中的数据和引用数据集中的列来执行查找.是完全匹配查找.在源表中查找与字表能关联的所有源表记录.准备数据.源表 T_QualMoisture_Middle_Detail字典表 T_ ...
- Scrum Meeting 9-20151211
任务安排 姓名 今日任务 明日任务 困难 董元财 请假(参加编译测试) 无 胡亚坤 首页界面优化 无 刘猛 请假(参加编译测试) 无 马汉虎 请假(参加编译测试) 无 赖彦俞 请假(参加编译测试) 无 ...
- D3.js 用层画条形图
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- 查看本机的IP地址方法:
查看本机的IP地址方法:对于XP系统:方法一:如果右下角系统托盘区有本地连接的小电脑,双击小电脑→支持,就可以看到本机IP地址.无线连接也是一样.方法二:开始→运行cmd /k ipconfig,IP ...
- Linux系统资源监控命令
转自http://www.51testing.com/html/16/271416-149128.html 衡量CPU性能的指标: 1,用户使用CPU的情况:CPU运行常规用户进程CPU运行niced ...
- 解决本机安装多版本jdk导致The type java.lang.Object cannot be resolved It is indirectly referenced ...
本机开始安装了jdk1.6,然后安装了jdk1.8 当在调自动化的时候,发现传入函数传参String类型,报错The type java.lang.Object cannot be resolved ...
- Number plate recognition with Tensorflow
2015年5月 在此处 http://matthewearl.github.io/2016/05/06/cnn-anpr/#rd 寻觅出 使用TenserFlow的车牌号识别 技术. 感觉很有必要 ...
- 编程之美----NIM游戏
: 博弈游戏·Nim游戏 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 今天我们要认识一对新朋友,Alice与Bob.Alice与Bob总是在进行各种各样的比试,今天他 ...