文章目录
  1. 1. 如何开始
    1. 1.1. 实例化
      1. 1.1.1. onDOMContentLoaded事件
      2. 1.1.2. onLoad事件
    2. 1.2. 配置
      1. 1.2.1. 了解核心
      2. 1.2.2. 基础特征
      3. 1.2.3. 高级选项
      4. 1.2.4. 有用的scroller信息

如何开始

var myScroll = new IScroll(‘#wrapper’);
第一个参数:选择器的字符串或原生元素的引用
比如:
var wrapper = document.getElementById(‘wrapper’);
var myScroll = new Scroll(wrapper);

实例化

iScoll必须在DOM就绪后实例化,主要有以下几各方法:
onload事件,onDOMContentLoaded事件,以内联方式放在你想滚动的html代码后面。
iScoll必须知道滚动区域的宽/高值,如果内容中图片没有明确的宽/高,那么iScroll很有可能在生成错误的滚动区。可以给滚动容器添加position:relative或absolute,这个可以解决一些尺寸计算有误的问题。

onDOMContentLoaded事件

如果滚动的内容只有文字和固定尺寸的图片,你可以使用DOMContentLoaded事件。
var myScroll;
function loaded(){
myScroll = new IScroll(‘#wrapper’);
}
document.addEventListener(‘DOMContentLoaded’,loaded,false);

onLoad事件

有时内容为准备好,DOM未加载完,使用DOMContentLoaded事件有些仓促,可以使用onLoad事件。给浏览器添加100或200的延迟也可以解决一些问题。
var myScroll;
function loaded(){
setTimeout(function(){
myScroll = new IScroll(’#wrapper’);
},100);
}
window.addEventListener(‘load’,loaded,false);

配置

console.dir(myScroll.options);可以在控制台打印出iscoll执行时的配置内容

了解核心

iScroll使用综合技术依赖于浏览器/硬件的本身特点进行滚动。通常情况下你不需要单独配置,iscroll会自动选择引擎。
options.useTransform Default:true
如果设置为false,则使用position:absolute;
options.useTransition Default:true
如果设置为false,则使用requestAnimationFrame来代替。旧机型上效果比较明显。
options.HWCompositing
硬件加速通过设置CSS的transform的translateZ(0) 来启用。当有很多元素而硬件加速跟不上时可以设置为false.

基础特征

options.bounce:true //是否超过实际边界时回弹
options.click:false //覆盖iscroll禁用的默认浏览器事件,比如鼠标点击。
options.disableMouse:false
options.disablePointer:false
options.disableTouch:false //默认检测所有的事件,当知道脚本运行环境时可以禁用某些事件
options.eventPassthrough:false //设置这个值为true,可以在保持原生垂直滚动的基础上添加横向滚动
options.freeScroll:false//没看出有什么特殊效果
options.keyBindings:false //设置为true可以绑定快捷键
options.invertWheelDirection:false //开启滚轮事件后,是否反转方向
options.momentum:true //动力动画是否开启,关闭后性能为提高
options.mouseWhell:false //是否开启滚轮事件兼听,开启后滚轮生效
options.preventDefault:true //事件触发时是否preventDefault();
options.scrollbars:false //是否显示滚动条
options.scrollX
options.scrollY //默认情况下开启垂直滚动
options.startX
options.startY //默认起始值为(0,0),可以指定起始的位置
options.tap //设置为true让iScroll自定义的tap事件

高级选项

options.bounceEasing //定义弹跳动画执行的function
options.bounceTime //定义弹跳动画持续的时长

有用的scroller信息

iScroll存储了许多有用的信息,用来增强你的应用。
myScroll.x/y //当前的位置
myScroll.directionX/Y //最后的方向(-1 向下/向右,0 保持,1 向上/向左)
myScroll.currentPage //当前对齐点的信息,可以配合options.snap:true使用

文章目录
  1. 1. 如何开始
    1. 1.1. 实例化
      1. 1.1.1. onDOMContentLoaded事件
      2. 1.1.2. onLoad事件
    2. 1.2. 配置
      1. 1.2.1. 了解核心
      2. 1.2.2. 基础特征
      3. 1.2.3. 高级选项
      4. 1.2.4. 有用的scroller信息