codecamp

移动端手指上下滑动切换插件pageSlider

查看演示   website
下载地址:https://github.com/Franslee/pageSlider
ie兼容10
插件描述:PageSlider 是一个基于zepto.js用于实现H5单页面跟随手指上下滑动切换的组件,支持通过transform3D启动GPU加速,目前仅支持移动端touch设备。

请用手机扫描演示页二维码,或pc端浏览器模拟移动端查看效果。

用法

HTML结构

<!DOCTYPE html>
<html>
    <head>
      <!-- styles, scripts, etc -->
    </head>
    <body>
        <div class="section sec1"></div>
        <div class="section sec2"></div>
        <div class="section sec3"></div>
        <div class="section sec4"></div>
    </body>
</html>

在页面中引入组件所需样式表文件pageSlider.css

<link rel="stylesheet" href="../dist/pageSlider.css">

本组件基于zepto,需要在页面中引入zepto.js文件

<script src='http://cdn.bootcss.com/zepto/1.1.4/zepto.min.js'></script>

引入pageSlider.js/pageSlider.min.js文件

<script src='../dist/pageSlider.js'></script>

在页面DOM加载完毕之后,初始化组件

$(function() {
    var pageSlider = PageSlider.case();
});

设置 settings

初始化PageSlider组件时,支持传入一个参数,用于配置组件功能

PageSlider.case(optOrIndex);
  • 参数optOrIndex可以是一个数字(number),用于设置初始显示的页码

  • 参数optOrIndex也可以是一个json对象,允许的keys见下表

key类型默认值描述
startPagenumber1初始化时显示页面的页码
rangenumber70页面回弹的最大距离(像素),小于该值页面回弹,超过该值页面将切换
durationnumber200页面回弹动画持续的时间(毫秒)
loopbooleanfalse是否循环切换
elasticbooleantrue位于顶部(底部)时,是否依然可以向上(向下)拉动
translate3dbooleanboolean是否使用translate3d(在支持translate3d的设备上),使用translate3d会使一些设备开启GPU加速,滑动更流畅
callbackobject{}页面切换回调函数集合。该json对象每个键为一个数值,对应一个页码,值为一个function,滑动到该页面时触发。如:{2:function(){alert('滑动到了第二页');},4:function(){alert('滑动到了第四页');}} 滑动到第二和第四页时将触发对应的回调函数
PageSlider.case({loop:true});

切换到指定页面

在页面初始化后,可调用组件的go方法跳转到指定页面。

//PageSlider初始化
var pageSlider = PageSlider.case();
//跳转到第3页
pageSlider.go(3);

CSS3网页Loading
jQuery手机端遮罩弹出菜单代码
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }