学习使用jquery iScroll.js移动端滚动条插件

2020-05-29 07:16:39易采站长站整理

HTML://HTML结构


<html >
<body>
...code...
</body>
//插入iscroll.js文件
<script type="text/javascript" src="js/iscroll.js" > </script >
//插入本页面JS文件
<script type="text/javascript" src="js/uw3c.js" > </script >
</html>

 JS://JS文件内容


var myscroll;
function iscroll(data){
//实例化iScroll
myscroll=new iScroll("wrapper");
pageData(data);
}
function pageData(obj){
$("body").html(obj);
myscroll.refresh();//当DOM结构发生变化的时候,需要刷新iScroll
}
iscroll("<div>pagedata</div>");

iScroll中的参数:

在实例化iScroll的时候,可以传入两个参数,第一个参数是实例化的外层的DOM的ID,第二个参数是iScroll执行方法的对象:


var myscroll=new iScroll("wrapper",{hScrollbar:false});
或者
var opts = {
vScroll:false,//禁止垂直滚动
snap:true,//执行传送带效果
hScrollbar:false//隐藏水平方向上的滚动条
};
var myscroll = new iScroll("wrapper",opts);

第二个参数内容如下,这个参数会控制iScroll的效果:


hScroll false 禁止横向滚动 true横向滚动 默认为true
vScroll false 禁止垂直滚动 true垂直滚动 默认为true
hScrollbar false隐藏水平方向上的滚动条
vScrollbar false 隐藏垂直方向上的滚动条
fadeScrollbar false 指定在无渐隐效果时隐藏滚动条
hideScrollbar 在没有用户交互时隐藏滚动条 默认为true
bounce 启用或禁用边界的反弹,默认为true
momentum 启用或禁用惯性,默认为true,此参数在你想要保存资源的时候非常有用
lockDirection false取消拖动方向的锁定,true拖动只能在一个方向上(up/down 或者left/right)

iScroll中的方法:

当然在第二个参数中,也有一些方法可以执行:
(1)scrollTo(x, y, time, relative)方法:传入4个参数:X轴滚动距离,Y轴滚动距离,效果时间,是否相对当前位置。所以例如:


//在200毫秒的时间内,Y轴向上滚动100像素;
uw3c.scrollTo(0, -100, 200)
//在200毫秒的时间内,相对于当前位置,X轴向左滚动100像素;
uw3c.scrollTo(-100, 0, 200, true)

(2)refresh()方法:在DOM结构发生改变之后,需要刷新iScroll,否则滚动插件会实例化的不准确:


uw3c.refresh();//刷新iScroll

(3)onPosChange,有没有一个方法能返回位置的变化?你可以查询一下自己所用的iScroll中有没有onPosChange方法: