详细问题描述
pullrefresh_with_tab例子中我发现,当pullrefresh和能左右滚动的tabBar(class="mui-segmented-control")一起使用的时候不能使用mui.init({pullRefresh:xxx})的形式来初始化滚动列表(pullRefresh),如果这么做了,那么会导致tabBar和pullRefresh两者均无法正常滚动。在pullrefresh_with_tab例子中改用了另一种方式来做,即导入了“mui.pullToRefresh.js”文件后使用$(pullRefreshEl).pullToRefresh({down:xx,up:xx})的形式来初始化滚动列表,这样的话能使二者正常滚动,但是也同时存在一个问题,这个问题就是,当我在pullrefresh_with_tab例子中顶部放置一个图片轮播组件(Slider)后,此时的DOM结构如下:
<div class="mui-scroll-wrapper">
<div id="mainPageList" class="mui-scroll">
<!--slider-->
<div class="mui-slider"></div>
<!--tabBar-->
<div id="tabBar" class="mui-scroll-wrapper mui-slider-indicator mui-segmented-control mui-segmented-control-inverted">
<div class="mui-scroll">
<a class="mui-control-item">x</a>
</div>
</div>
<!--pullRefresh-->
<ul class="mui-table-view xy-list">
<li>
</li>
</ul>
</div>
</div>
然后参照pullrefresh_with_tab例子中的样式初始化滚动列表:
mui("#mainPageList").pullToRefresh({down: x,up: x});
之后在Slider每次切换时会触发一个事件叫做“scrollbottom”(触发事件的代码在Slider的父类Scroll中的_scrollend方法里),此时该事件会冒泡到pullRefresh中导致其事件侦听器触发,调用pullUpLoading方法开始
加载新的数据……这样的结果是我不停地滑动Slider就不断会增加新的数据到pullRefresh中,若设置了Slider的interval参数,那么后果更加不堪设想。
希望开发组能够解决该问题,有问题的话请联系我:
[QQ]
331298616
0 个回复