zoukankan      html  css  js  c++  java
  • nuxt 使用VueAwesomeSwiper插件,展示轮播及缩略图

    参考地址:https://github.com/surmon-china/vue-awesome-swiper

    vue-cli    脚手架使用swiper的步骤:参考地址:https://www.cnblogs.com/theblogs/p/10385604.html

    api文档:https://www.swiper.com.cn/api/navigation/355.html

    最终效果:

    步骤:

    1.npm引入:

    npm install vue-awesome-swiper --save
    2.nuxt.config.js配置文件中添加以下配置:

    'swiper/dist/css/swiper.css'
    { src: '~plugins/vue-swiper', ssr: false },

     3.plugins文件夹下,添加以下文件

    import Vue from 'vue'
    import VueAwesomeSwiper from 'vue-awesome-swiper/dist/ssr'
    Vue.use(VueAwesomeSwiper)
    

      

    4.使用
    <template>
      <div style="100%;height: 600px;position: relative;">
        <!-- swiper1 -->
        <div v-swiper:swiperTop="swiperOptionTop" class="gallery-top">
          <div class="swiper-wrapper">
            <div class="swiper-slide">
              <img src="http://114.116.25.26:8023/01/banner-%E9%A6%96%E9%A1%B5.png" />
            </div>
            <div class="swiper-slide">
              <img src="https://surmon-china.github.io/vue-awesome-swiper/static/images/surmon-8.jpg" />
            </div>
            <div class="swiper-slide">
              <img src="https://hyzrm.oss-cn-qingdao.aliyuncs.com/file/normal/D1EF0617F2964CADAA4C798CE5833FFD.png" />
            </div>
          </div>
          <div class="swiper-button-next swiper-button-white" slot="button-next"></div>
          <div class="swiper-button-prev swiper-button-white" slot="button-prev"></div>
        </div>
        <!-- swiper2 Thumbs -->
        <div v-swiper:swiperThumbs="swiperOptionThumbs" class="gallery-thumbs">
          <div class="swiper-wrapper">
            <div class="swiper-slide">
              <img src="http://114.116.25.26:8023/01/banner-%E9%A6%96%E9%A1%B5.png" />
              <p>阳台</p>
            </div>
            <div class="swiper-slide">
              <img src="https://surmon-china.github.io/vue-awesome-swiper/static/images/surmon-8.jpg" />
              <p>客厅</p>
            </div>
            <div class="swiper-slide">
              <img src="https://hyzrm.oss-cn-qingdao.aliyuncs.com/file/normal/D1EF0617F2964CADAA4C798CE5833FFD.png" />
              <p>卧室</p>
            </div>
          </div>
        </div>
      </div>
    </template>
    
    
    <script>
      export default {
        name: 'carrousel',
        data() {
          return {
            swiperOptionTop: {
              grabCursor: true,
              navigation: {
                nextEl: '.swiper-button-next',
                prevEl: '.swiper-button-prev'
              },
            },
            swiperOptionThumbs: {
              grabCursor: true,//鼠标覆盖Swiper时指针会变成手掌形状
              centeredSlides: true,
              slidesPerView: 'auto',//同时显示的数量
              touchRatio: 0.2,
              slideToClickedSlide: true,
            },
    
          }
        },
        mounted() {
          this.$nextTick(() => {
            const swiperTop = this.swiperTop;
            const swiperThumbs = this.swiperThumbs;
            swiperTop.controller.control = swiperThumbs;//控制缩略图和轮播图联动
            swiperThumbs.controller.control = swiperTop
          })
        }
      }
    </script>
    
    <style type="text/scss" lang="scss" scoped>
      @import "../assets/styles/color";
      .swiper-container {
        height: 600px;
      }
    
      .swiper-slide {
        background-size: cover;
        background-position: center;
        img {
           100%;
          height: 100%;
        }
      }
    
      .gallery-top {
        position: absolute;
        left: 0;
        top: 0;
        height: 100%;
         100%;
      }
    
      .gallery-thumbs {
        position: absolute;
        left: 0;
        bottom: 0;
        height: 20% !important;
        box-sizing: border-box;
        padding: 10px 0;
      }
      .gallery-thumbs .swiper-slide {
         80px;
        height: 80px;
        margin: 0 20px 60px;
        color: #fff;
        border: 4px solid rgba(0,0,0,0);
        p {
          line-height: 30px;
          text-align: center;
        }
      }
      .gallery-thumbs .swiper-slide-active {
        border: 4px solid $color-main;
        color: $color-main;
        p {
          line-height: 30px;
          text-align: center;
        }
      }
    
    
    </style>





  • 相关阅读:
    亲手使用Sencha Touch + phonepag开发Web APP随笔 -- 第一个APP
    亲手使用Sencha Touch + phonepag开发Web APP随笔 -- 环境安装篇
    安装Ruby下的compress失败
    Centos 6.5安装bugzilla 5.0.2
    Win7+Eclipse+Hadoop2.6.4开发环境搭建
    [整理]Centos6.5 + hadoop2.6.4环境搭建
    js 使用技巧
    css 样式小窍门
    fpm rpm制作
    nginx rewrite
  • 原文地址:https://www.cnblogs.com/duanzhenzhen/p/12362129.html
Copyright © 2011-2022 走看看