二、初始化
(1)html结构:
<div class="wrapper">
只能让第一个子元素滚动
<div>
可放入多个子元素
</div>
</div>
(2)css: 外层盒子是定高的
<1>直接给定一个高度
<2>在移动端,如果需要滚动,且需要高度全屏
position: absolute (定位父元素是body)
top:0
bottom:0
(3) 引入iscroll.js
var myscroll = new IScroll(".wrapper")
三、自定义配置
var myscroll = new IScroll(".wrapper",{
scrollX: true, //能够水平滚动
scrollY: false , //在水平滚动时,禁止垂直滚动
snap: "li" // snap: true
click: true,
//如果希望监听滚动事件,则不能引入iscroll.js,
而需要引入iscroll-probe.js, 同时结合 probeType属性
probeType: 3 // 也可以是1,2
})
四、iscroll实例支持的事件
myscroll.on("scroll",function(){})
myscroll.on("scrollStart",function(){})
myscroll.on("scrollEnd",function(){})
myscroll.on("refresh",function(){})
五、iscoll实例的常用属性
1. this.currentPage.pageX
2. this.currentPage.pageY
3. this.currentPage.x
4. this.currentPage.y
5. this.x
6. this.y
六、实例的方法
1.myscroll.refresh() //非常重要的方法,在数据更新后,一定要调用一次该方法
2. myscroll.scrollTo()
3. myscroll.scrollBy()
3. myscroll.goToPage()
可以把问题描述清楚一点吗,我用了iscroll已经有差不多三年了,有修改过一些iscroll源码,描述清楚可能会能帮你解决到问题,我用iscroll已经做了一个比较成熟的组件了,欢迎过来提问。
demo地址:https://github.com/gtdalp/listloading使用iscroll实现这样的布局可不容易。。。需要前端拥有良好的css功底然后利用js(这里lz用了zeptoJS或者大家可以用jquery)假设我们有这么一段html
[html] view plaincopy
<div id="wrapperIndexActivity" class="wrapperIndexActivity">
<div class="scrollerActivity" id="scrollerActivity">
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
</ul>
</div>
</div>
首先先对ID(wrapperIndexActivity)加载iscroll
[javascript] view plaincopy
var homeScroll = new iScroll("wrapperIndexActivity", {
snap : true,
momentum : false,
hScrollbar : false,
vScrollbar : false,
checkDOMChanges : true,
onScrollEnd : function() {
}
})
对Id所属class附加样式:
[css] view plaincopy
.wrapperIndexActivity{ width:100%height:100%position:relativez-index:1overflow:hiddendisplay: block}
然后需要对ID(scrollerActivity)计算有几幅屏幕可以切换(这里假设有4幅)
[javascript] view plaincopy
$("#scrollerActivity").style({
'width' : document.body.clientWidth * 4 + 'px'
})
对应class需附加样式:
[css] view plaincopy
.wrapperIndexActivity .scrollerActivity{ height:100%float:leftpadding:0overflow:hidden}
再然后对li 让每一个列表项都撑满屏幕
[javascript] view plaincopy
$('#wrapperIndexActivity ul li ').style({
'width' : document.body.clientWidth + "px"
})
对应class附加样式:
[css] view plaincopy
.wrapperIndexActivity .scrollerActivity ul li {-webkit-box-sizing:border-box display:blockheight:100%float:left}
最后刷新iscroll
[javascript] view plaincopy
// 刷新数据
omeScroll.refresh()