前情提要
- [x] position:fixed不能用作移动端固定首部
- 在移动端开发中,使用position:fixed固定定位,pc端IE6不兼容,移动端很多都兼容
- 尤其是在定位的区域需点击或需调取虚拟键盘会出现问题
- [ ] 处理:使用局部滚动处理(ISCROLL)
步骤
- [x] 引入iscroll.js
|
|
[x] 绑定数据之前:计算滑动区域content的高度
实现竖向局部滚动,首先需要把最外层容器的高度设定好
1$content.css('height', document.documentElement.clientHeight - $('.header')[0].offsetHeight);
[x] 在数据绑定之成:实现局部滚动
|
|
IScroll的设置与方法
[x] 初始化实例
- 初始化成功后,只对当前容器中的第一个子元素实现了滚动操作1var 实例=new IScroll ( 需要局部滚动的区域 , { 参数配置 } )
- 初始化成功后,只对当前容器中的第一个子元素实现了滚动操作
[x] 设置
- [ ]
scrollbars: true
显示滚动条,默认不显示 - (开启后,默认的向content区域增加一个控制滚动条的div(class=iScrollVerticalScrollbar。它的样式是position: absolute;所以如果只想让滚动条在容器中,需要给当前的滚动条增加position: relative;)
- [ ]
mouseWheel:true
设置支持鼠标滚轮滚动 - [ ]
bounce:false
禁止运动到边界后反弹 - [ ]
click: true
ISCROLL为了防止滑动过程中的误操作,默认是把click禁止的,如果需要点击,则开启click即可
- [ ]
[x] 方法
- [ ]
myScroll.refresh()
: 当滚动区域的内容发生改变的时候,让当前的实例刷新一下,滚动区域的相关值都会跟着重新计算 [ ]
myScroll.scrollToElement([ele],[time])
: 用多长的时间滚动到具体的某一个元素位置12var $li = $content.find('li');myScroll.scrollToElement($li[$li.length - 1], 300);[ ]
myScroll.scrollTo(x,y,time)
: 滚动到具体的坐标位置1myScroll.scrollTo(0, -1000, 300);
- [ ]