zoukankan      html  css  js  c++  java
  • vue+swiper背景图随swiper改变

    效果:div内部swiper滑动时,外部div背景图片随着变化
    思路:获取swiper的索引,用:style定义背景图片
    //template
    //外部背景图片
    <div class="cont-box" :style="{backgroundImage: 'url(' + bgImg[activeIndex].bg + ')'}">
      <div class="swiper-container" style="height: 100%; color: white;" ref="mySwiper" id="home">
            <div class="swiper-wrapper">
              <div  class="swiper-slide" v-for(item,index) in box-cont :key="index">
    
              </div>
           </div>
       </div>
    </div>
    
    //script
    //引入swiper
    import Swiper from 'swiper';
    export default{
      data(){
        return{
          activeIndex:0,//索引默认是0
           bgImg:[{
              bg:require("../../static/images/bg_home.jpg")
             },{
              bg:require("../../static/images/bg_brand.jpg")
             },{
              bg:require("../../static/images/bg_news.jpg")
             },{
              bg:require("../../static/images/bg_video.jpg")
             },{
              bg:require("../../static/images/bg_product.jpg")
             },{
               bg:require("../../static/images/bg_joinin.jpg")
             },{
              bg:require("../../static/images/bg_contact.jpg")
             }],//背景图片
        }
      },
        mounted(){
        let that = this;
        //具体方法请查看swiper官方文档
        that.swiper = new Swiper('#home',{
            direction: 'vertical', // 垂直切换选项
            loop: false, // 循环模式选项
            pagination: '#swiper-pagination',
            paginationClickable: true,
            mousewheelControl : true,
            onSlideChangeStart: function(swiper){
              that.activeIndex = swiper.activeIndex //拿到当前的swiper索引
            }
          })
        }
    }
    
    
    这样就实现了,如果出现滚动有大约一秒的白屏情况,解决方法把图片提前缓存
    此外可以添加动画效果来过渡
    所触及过的星空,哪怕牺牲所有,也竭力想要抵达的地方!
  • 相关阅读:
    [Tips] Resolve error: server certificate verification failed.
    [Tips] bzr Import error
    NPAPI命休矣
    [Buzz Today]2013.08.18
    [Tips]Fix node.js addon build error: "gyp: binding.gyp not found"
    The.first.glance.at.linux.commands
    [Idea Fragments]2013.08.08
    Linux利器:WinSCP,Putty,pscp和psftp
    本博客已经迁移去http://blog.brightwang.com/
    将博客搬至CSDN
  • 原文地址:https://www.cnblogs.com/lishaoxiong/p/14657019.html
Copyright © 2011-2022 走看看