vue-awesome-swiper 使用方法

2018-12-30  本文已影响0人  daoket

源码:

<template>
  <swiper class="game-main" ref="mySwiper" :options="swiperOption">
    <swiper-slide v-for="i in 3" :key='i' class="item-group">
      <ul class="game-main-swiper">
        <li v-for="j in 28" :key='j'>
          <div class='item'
              :class="[sum(i, j) <= term
              ? [sum(i, j) <= finishedterm ? 'btn3' : 'btn2']
              : 'btn1']"
              ref="btn"
              v-show="sum(i, j) <= 82"
              @click="selectAnswer(sum(i, j))">
            <span class="num" v-show="sum(i, j) <= term">
              {{sum(i, j)}}
            </span>
          </div>
        </li>
      </ul>
    </swiper-slide>
    <div class="swiper-pagination" slot="pagination"></div>
  </swiper>
</template>

<script>
import 'swiper/dist/css/swiper.css'
import { swiper, swiperSlide } from 'vue-awesome-swiper'

export default {
  name: 'game', // 不能为 swiper

  components: {
    swiper,
    swiperSlide
  },

  data () {
    return {
      term: 10,  // 当前期数
      finishedterm: 5, // 该用户当前已完成的期数
    
      swiperOption: {
        pagination: {
          el: '.swiper-pagination'
        }
      }
    }
  },

  mounted() {
    // 跳转到哪一页
    this.$refs.mySwiper.swiper.slideTo(1, 1000, true)
  },

  methods: {
    sum(i, j) {
      return (i-1)*28 + j
    },
    selectAnswer(id) {
      console.log(id)
    }
  },
}
</script>

<style lang="scss" scoped>
.game-main{
  width: 750px;
  position: absolute;
  top: 0;
  left: 0;
  font-size: 32px;
  .game-main-swiper{
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    margin-left: 15px;
    margin-top: 15px;
  }
  .item{
    width: 152px;
    height: 128px;
    border: 1px solid transparent;
    margin: 13px;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .num{
    color: #BA4C10;
    font-size: 53px;
    font-weight: bold;
    margin-bottom: 15px;
  }
  .btn1{
    background: url(https://img.haomeiwen.com/i2163136/f079e7b5eab5404d.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) no-repeat;
    background-size: 100% 100%;
  }
  .btn2{
    background: url(https://img.haomeiwen.com/i2163136/ca0488e0838affba.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) no-repeat;
    background-size: 100% 100%;
  }
  .btn3{
    background: url(https://img.haomeiwen.com/i2163136/07029e41dd7df7d3.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) no-repeat;
    background-size: 100% 100%;
  }
}

.item-group{
  height: 1160px;
}
</style>
效果图
上一篇 下一篇

猜你喜欢

热点阅读