美文网首页
mui轮播图片设定自动轮播

mui轮播图片设定自动轮播

作者: 故林青衫 | 来源:发表于2017-07-11 17:10 被阅读0次
       mui的轮播图片,在默认情况下是无法进行自动轮播的;只有在滑动或者拖动之后才能进行正常轮播;这里需要添加一个定时器,设定默认开始轮播的时间;
    
    setTimeout(function(){
        var gallery = mui('.mui-slider');
        gallery.slider({
             interval:1800//自动轮播周期,若为0则不自动播放,默认为0;
        });
    },300)
    
       然而,初级的轮播是图片数量固定,但是轮播图片如果是从后台取值,且图片数量不定的情况下,又该如何轮播呢?有一种解决办法是用添加数组的方式,遍历json内图片的数量,然后一个一个将图片添加进数组进行图片dome的循环,这种方法,代码较多而且操作复杂;
       这里提供一个更简单的方法,vue.js的v-for方法,不仅支持随机数量的轮播,而且在后台返回的json内图片只有一张的情况,则停止轮播,代码如下;
    

    页面部分:

                  <div class="mui-slider ">
              <div class="mui-slider-group mui-slider-loop">
                <!--支持循环,需要重复图片节点-->
                <div class="mui-slider-item mui-slider-item-duplicate" v-bind:class="{dispnone:isImgShow}">
                    <a @click="goToReceive(items[items.length-1])">![](imgLast)</a>
                    <button type="button" v-text="btnTextLast" @click="goToReceive(items[items.length-1])"></button>
                </div>
                <div class="mui-slider-item" v-for="item in items">
                    <a @click="goToReceive(item)">![](item.img)</a>
                    <button type="button" v-text="item.btnText"  @click="goToReceive(item)"></button>
                </div>
                <!--支持循环,需要重复图片节点-->
                <div class="mui-slider-item mui-slider-item-duplicate" v-bind:class="{dispnone:isImgShow}">
                    <a @click="goToReceive(items[0])">![](imgfrist)</a>
                    <button type="button" v-text="btnTextFrist"  @click="goToReceive(items[0])"></button>
                </div>
              </div>
            </div>
    

    js部分:

                    vm.btnTextLast = common.getDict('btnType',vm.items[vm.items.length-1].displayType);
                            vm.btnTextFrist = common.getDict('btnType',vm.items[0].displayType);
                            // 图片数量为1时,不再轮播
                            if(vm.items.length == 1){
                                vm.isImgShow = false;
                            }else{
                                vm.imgfrist = vm.items[0].img;
                                vm.imgLast = vm.items[vm.items.length-1].img;
                                vm.isImgShow = true;
                                //获得slider插件对象
                                vm.imgCycle();
                            }
                            
                            for(var i=0;i<vm.items.length;i++){
                                vm.items[i].btnText = common.getDict('btnType',vm.items[i].displayType);
                            }
    
       如此,轮播图片不仅支持自动轮播,而且支持不固定数量图片无缝轮播,更是支持按钮变换v-text.
       其中,vm代表this.函数imgCycle则是轮播定时器函数。

    相关文章

      网友评论

          本文标题:mui轮播图片设定自动轮播

          本文链接:https://www.haomeiwen.com/subject/lwymhxtx.html