美文网首页
轮播图的自适应不抖动

轮播图的自适应不抖动

作者: 阳光之城alt | 来源:发表于2018-12-08 22:37 被阅读0次
image.png
<template>
    <div class="wrapper">
        <swiper :options="swiperOption" ref="mySwiper"  v-if="showswiper">
            <!-- slides -->
            <swiper-slide v-for="(item) of  list" :key="item.id">
                <img  :src="item.imgUrl" class="swipe-img">        
            </swiper-slide>
            <!-- Optional controls -->
            <div class="swiper-pagination"  slot="pagination"></div>
        </swiper>
    </div>
</template>
<script>
export default {
    name:"homeswiper",
    props:{
        list:Array
    },
    data(){
        return{
           swiperOption:{
               pagination : '.swiper-pagination',
               loop:true,
               autoplay: 5000
           }
        }
    },
    computed:{
        showswiper(){
            return this.list.length
        }
    }
}
</script>



<style lang="stylus" scoped>
    .wrapper>>>.swiper-pagination-bullet-active
            background: #fff;
    .wrapper
        width 100%
        height 0
        overflow:hidden
        padding-bottom 32%
        background #eee
        .swipe-img
            width 100%
          
</style>

icon

<template>
    <div class="icons">
       <swiper :options="swiperOption">
            <swiper-slide   v-for="(page,index) of pages" :key="index">
                <div class="icon"
                 v-for="item of page"
                :key="item.id" >
                    <div class="icon-img">
                        <img class="icon-img-content" :src="item.imgUrl" alt="item.desc" style="opacity: 1;">
                    </div>
                    <p class="icon-desc">{{item.desc}}</p>
                </div>  
             </swiper-slide>
            </swiper>
    </div>
</template>

<script>
export default {
  name:'homeicons',
  props:{
      list:Array
  },
  data(){
    return{
         swiperOption:{
              autoplay: false
           }
   }  
  },
  computed:{
      pages(){
          const pages=[]
          this.list.forEach((item,index) => {
            const page=Math.floor(index/8) //向下取正 显示页数
              if(!pages[page]){
                  pages[page]=[]
                  console.log(111)
              }
              pages[page].push(item)
                // console.log("计算属性"+page+"==>"+pages[page])
          });
              return pages
      }
  }
}
</script>

<style lang="stylus" scoped>
    @import '~styles/varibles.styl'
    @import '~styles/min.styl'
    .icons>>>  .swiper-container //下部滚动也可以拖动
        height 0
        padding-bottom 50%
    .icons
       margin-top .1rem
       .icon
            height 0
            position relative
            float left
            width 25%
            padding-bottom 25%
            .icon-img
                position absolute
                top 0
                left 0
                right 0
                bottom .44rem
                .icon-img-content
                     display block
                     height 100%
                     margin .05rem auto 0 
            .icon-desc
                    position absolute
                    left 0
                    right 0
                    bottom 0
                    height .44rem
                    text-align center
                    line-height .44rem
                    color $datacolor
                    ellpsis()



</style>











相关文章

网友评论

      本文标题:轮播图的自适应不抖动

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