<div id="slider" class="mui-slider mui-fullscreen">
<div id="scroll" class="mui-scroll-wrapper mui-slider-indicator mui-segmented-control mui-segmented-control-inverted">
<div id="sliderSegmentedControl" class="mui-scroll">
</div>
</div>
<!--<div id="sliderProgressBar" class="mui-slider-progress-bar mui-col-xs-2" style="background-color: #7cc3bd"></div>-->
<div id="group" class="mui-slider-group">
</div>
</div>
如上部代码,我的顶部导航slider-indicator和slider-group的内容都是ajax获取的,获取之后再加上
var gallery = mui('.mui-slider');
gallery.slider({
interval:0//自动轮播周期,若为0则不自动播放,默认为0;
});
就可以实现slider-group的滚动。
slider-group和slider-indicator的单独滚动都没有问题,但是slider-group的滚动带动slider-indicator就会报错,
如图,是生成后我滑动了slider-group,slider-group已经加载了第二个选项卡的内容,但是slider-indicator没有滑到第二个,mui.js报错,
报错内容大概是因为Scroll没有进行初始化,导致获取不到pages数组的内容。但是自己尝试初始化也无果,不知道算不算mui的一个bug。
然而,只要点击过slider-indicator的一项或者对其进行滑动,那么slider-group带动slider-indicator的滚动就不会出现问题。应该是ajax生成的顶部导航tab会影响浏览器对每个control-item的计算,导致滚动不能联动。我尝试使用mui.trigger,使ajax获取数据后,模拟点击某一个选项卡,如果手动操作的话,就会正常,但是模拟点击无效(可能是所说的要在mui.init之前才行)。到底要怎么做,求助开发人员~多谢~
markrui (作者)
明白了,就是先生成dom节点,然后让mui渲染。困扰我几天的难题解决了,多谢~
2016-03-22 13:53
yangcc
回复 markrui:我也碰到了这个问题,这个道理我是明白的,但是我不知道mui是怎么渲染的,怎么才能把这一步放在生成节点的后面
2017-02-16 13:33