首頁 > 軟體

Swiper如何實現兩行四列輪播圖效果範例

2022-10-06 14:06:49

案例效果

基本樣式

.icons{
  width:100%;
  overflow: hidden;
}
.icons-item{
  width: 25%;
  height: 0;
  padding-bottom: 25%;
  float: left;
}
.icons-item img{
  width: 1.1rem;
  height: 1.1rem;
  display: block;
  margin: 0 auto;
  padding-top: .2rem;
}
.icons-item p{
  margin-top: .1rem;
  font-size: .28rem;
  text-align: center;
  color: #212121;
}

所需檔案

<script type="text/javascript">
export default {
  data(){
    return {
      swiperOption:{},
      iconsList:[
        {
          id:"01",
          imgUrl:"//s.qunarzz.com/homenode/images/touchheader/hotel.png",
          text:"酒店"
        },
        {
          id:"02",
          imgUrl:"//s.qunarzz.com/homenode/images/touchheader/flight.png",
          text:"機票"
        },
        {
          id:"03",
          imgUrl:"//s.qunarzz.com/homenode/images/touchheader/train.png",
          text:"火車票"
        },
        {
          id:"04",
          imgUrl:"//s.qunarzz.com/homenode/images/touchheader/package.png",
          text:"度假"
        }
        ,{
          id:"05",
          imgUrl:"//s.qunarzz.com/homenode/images/touchheader/hotel.png",
          text:"景點門票"
        }
        ,{
          id:"06",
          imgUrl:"//s.qunarzz.com/homenode/images/touchheader/hotel.png",
          text:"景點門票"
        }
        ,{
          id:"07",
          imgUrl:"//s.qunarzz.com/homenode/images/touchheader/hotel.png",
          text:"景點門票"
        }
        ,{
          id:"08",
          imgUrl:"//s.qunarzz.com/homenode/images/touchheader/hotel.png",
          text:"景點門票"
        }
        ,{
          id:"09",
          imgUrl:"//s.qunarzz.com/homenode/images/touchheader/hotel.png",
          text:"景點門票"
        }
        ,{
          id:"10",
          imgUrl:"//s.qunarzz.com/homenode/images/touchheader/hotel.png",
          text:"景點門票"
        }
      ],
      swiperOption:{
        //  設定分頁器
          pagination: {
            el: '.swiper-pagination',
          }
        }
      }
  },
  computed:{
    page(){
      let pages = [];
      this.iconsList.forEach((item,index)=>{
        let idx = Math.floor(index/8)
        if(!pages[idx]) pages[idx] =[];
        pages[idx].push(item)
      })
      return pages
    }
  }
}
</script>

需要注意的是 let idx = Math.floor(index/8) if(!pages[idx]) pages[idx] =[]; pages[idx].push(item) 用來將這些圖片文字 以八個為單位分別拆開 從而實現最重要的效果

迴圈遍歷

<div class="icons">
    <swiper ref="mySwiper" :options="swiperOption">
          <swiper-slide v-for='item in page' :key='item.id'>
            <div v-for="page in item" :key="page.id"  class="icons-item">
              <img :src="page.imgUrl">
              <p>{{page.text}}</p>
            </div>
          </swiper-slide>
        <div class="swiper-pagination" slot="pagination"></div>
    </swiper>
  </div>

先遍歷以八個為單位的陣列 然後在遍歷裡面的內容

總結

到此這篇關於Swiper如何實現兩行四列輪播圖效果的文章就介紹到這了,更多相關Swiper兩行四列輪播圖內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com