vue轮播

轮播组件vue  

< swiper : options= "swiperOption"  class= 'swiper-box' >
     < swiper-slide  v-for= "v in swipers" >< img : src= "v.fdcImage"  class= "swiper-img" style= "width:100%;height:1.8rem"> </ swiper-slide >
    < div  class= "swiper-pagination"  slot= "pagination" ></ div >

</swiper>

安装

npm install vue-awesome-swiper --save

首先在main.js引入

import  VueSwiper  from  'vue-awesome-swiper'
Vue. use( VueSwiper)

然后就可以用了:
   mounted () {
             setTimeout(()  => {
                 this. asyncCount =  5
            },  1000)
        },
         data () {
             return {
              
                 swiperOption: {
                     autoplay:  3000,
                     pagination:  '.swiper-pagination',
                     autoplayDisableOnInteraction:  false,
                     loop:  true
                },
             swipers:[]
    }
        }

vue-awesome-swiper的API文档:

一、先说一个看关于vue-awesome-swiper的一个坑

       vue项目的package.json中显示的"vue-awesome-swiper": "^2.5.4",用npm install自动安装依赖时装的版本为"version": "2.6.7",而单独安装(npm install vue-awesome-swiper@2.5.4)的则是正常的"version": "2.5.4"

       这两个版本都是基于swiper3的,从官网上swiper3的教程来看并不需要单独引入样式文件,而2.6.7版本需要单独引入swiper/dist/css目录下的swiper.css样式文件(类似于swiper4)。

       并且2.6.7版本swiper位于node_modules/vue-awesome-swiper/node_modules下;2.5.4不需要单独引入样式文件,并且swiper直接位于node_modules文件夹下。

二、基本使用方法

1.安装(略)

2.引用

    /*全局引入*/
    import VueAwesomeSwiper from 'vue-awesome-swiper'
    import 'swiper/dist/css/swiper.css'//这里注意具体看使用的版本是否需要引入样式,以及具体位置。
    Vue.use(VueAwesomeSwiper, /* { default global options } */)
    /*组件方式引用*/
    import 'swiper/dist/css/swiper.css'这里注意具体看使用的版本是否需要引入样式,以及具体位置。
    import { swiper, swiperSlide } from 'vue-awesome-swiper'
    export default {
    components: {
      swiper,
      swiperSlide
    }

3.使用

就是一般组件的用法

    <swiper :options="swiperOption">
      <swiper-slide><img src="static/images/jay.jpg"></swiper-slide>
      <swiper-slide><img src="static/images/jay.jpg"></swiper-slide>
      <swiper-slide><img src="static/images/jay.jpg"></swiper-slide>
      <swiper-slide><img src="static/images/jay.jpg"></swiper-slide>
      <swiper-slide><img src="static/images/jay.jpg"></swiper-slide>
      <swiper-slide><img src="static/images/jay.jpg"></swiper-slide>
    </swiper>
    <!--以下看需要添加-->
    <div class="swiper-scrollbar"></div> //滚动条
    <div class="swiper-button-next"></div> //下一项
    <div class="swiper-button-prev"></div> //上一项
    <div class="swiper-pagination"></div> //标页码
  data(){
    return{
      swiperOption: {//swiper3
      autoplay: 3000,
      speed: 1000,
      }
    }
  }
    

三、配置

参数类型(swiper3)默认值(swiper3)类型(swiper4)默认值(swiper4)说明
autoplayNumber/Boolean0/falseObjectautoplay自动切换
speedNumber300Number300切换速度
loopBooleanfalseBooleanfalseloop模式
loopAdditionalSlidesNumber0Number0loop模式下会在slides前后复制若干个slide,,前后复制的个数不会大于原总个数。
loopedSlidesNumber1Number1在loop模式下使用slidesPerview:'auto',还需使用该参数设置所要用到的loop个数。
directionStringhorizontalStringhorizontalSlides的滑动方向
autoplayDisableOnInteractionBooleantrue--用户操作swiper之后,是否禁止autoplay
autoplayStopOnLastBooleantrue--切换到最后一个slide时停止自动切换
grabCursorBooleanfalseBooleanfalse鼠标覆盖Swiper时指针会变成手掌形状,拖动时指针会变成抓手形状
widthNumber-Number-强制Swiper的宽度
heightNumber-Number-强制Swiper的高度
autoHeightBooleanfalseBooleanfalse自动高度
freeMode:    swiper3/4 api相同
freeModeBooleanfalse--free模式,slide会根据惯性滑动且不会贴合
freeModeMomentumBooleantrue--free模式动量。若设置为false则关闭动量,释放slide之后立即停止不会滑动。
freeModeMomentumRatioNumber1--free模式动量值(移动惯量)
freeModeMomentumVelocityRatioNumber1--动量反弹
freeModeMomentumBounceBooleantrue--Slides的滑动方向
freeModeMomentumBounceRatioNumber1--值越大产生的边界反弹效果越明显,反弹距离越大。
freeModeStickyBooleanfalse--使得freeMode也能自动贴合。
effect:    swiper3/4 api相同
effectStringslide--slide的切换效果。
fade/fadeEffect(4)Objectfade--fade效果参数。
cube/cubeEffectObjectcube--cube效果参数。
coverflow/coverflowEffectObjectcoverflow--coverflow效果参数。
flip/flipEffectObjectflip--flip效果参数。
Zoom:     
zoomBooleanfalseObjectzoom焦距功能:双击slide会放大,并且在手机端可双指触摸缩放。
zoomMaxNumber3--最大缩放焦距(放大倍率).
zoomMinNumber1--最小缩放焦距(缩小倍率)。
zoomToggleBooleantrue--设置为false,不允许双击缩放,只允许手机端触摸缩放。
pagination:     
paginationString-Objectpagination分页器容器的css选择器或HTML标签
paginationTypeString---bullets’ 圆点(默认)‘fraction’ 分式 ‘progress’ 进度条‘custom’ 自定义
paginationClickableBooleanfalse--点击分页器的指示点分页器控制Swiper切换
paginationHideBooleanfalse--默认分页器会一直显示
paginationElementStringspan--设定分页器指示器(小点)的HTML标签。
Navigation Buttons:   swiper4 navigation 
nextButtonstring / HTMLElement---前进按钮的css选择器或HTML元素。
prevtButtonstring / HTMLElement---后退按钮的css选择器或HTML元素。
Scrollbar:     
scrollbarstring / HTMLElement-Objectswiper4 ScrollbarScrollbar容器的css选择器或HTML元素
scrollbarHideBoleantrue--滚动条是否自动隐藏。
scrollbarDraggableBooleanfalse--该参数设置为true时允许拖动滚动条。
scrollbarSnapOnReleaseBooleanfalse--如果设置为true,释放滚动条时slide自动贴合。

autoplay:

  autoplay: {
    delay: 3000, //自动切换的时间间隔,单位ms
    stopOnLastSlide: false, //当切换到最后一个slide时停止自动切换
    stopOnLastSlide: true, //如果设置为true,当切换到最后一个slide时停止自动切换。
    disableOnInteraction: true, //用户操作swiper之后,是否禁止autoplay。
    reverseDirection: true, //开启反向自动轮播。
    waitForTransition: true, //等待过渡完毕。自动切换会在slide过渡完毕后才开始计时。
  },

fade:

  fadeEffect: {
    crossFade: false,
  }

cube:

  cubeEffect: {
    slideShadows: true, //开启slide阴影。默认 true。
    shadow: true, //开启投影。默认 true。
    shadowOffset: 100, //投影距离。默认 20,单位px。
    shadowScale: 0.6 //投影缩放比例。默认0.94。
  },

coverflow:

  coverflowEffect: {
    rotate: 30, //slide做3d旋转时Y轴的旋转角度。默认50。
    stretch: 10, //每个slide之间的拉伸值,越大slide靠得越紧。 默认0。
    depth: 60, //slide的位置深度。值越大z轴距离越远,看起来越小。 默认100。
    modifier: 2, //depth和rotate和stretch的倍率,相当于depth*modifier、rotate*modifier、stretch*modifier,值越大这三个参数的效果越明显。默认1。
    slideShadows : true //开启slide阴影。默认 true。
  },

flip:

   flipEffect: {
    slideShadows : true, //slides的阴影。默认true。
    limitRotation : true, //限制最大旋转角度为180度,默认true。
  }

zoom:

   zoom: {
     maxRatio: 5, //最大倍数
     minRatio: 2, //最小倍数
     toggle: false, //不允许双击缩放,只允许手机端触摸缩放。
     containerClass: 'my-zoom-container', //zoom container 类名
   },

navigation:

   navigation: {
    nextEl: '.swiper-button-next', //前进按钮的css选择器或HTML元素。
    prevEl: '.swiper-button-prev', //后退按钮的css选择器或HTML元素。
    hideOnClick: true, //点击slide时显示/隐藏按钮
    disabledClass: 'my-button-disabled', //前进后退按钮不可用时的类名。
    hiddenClass: 'my-button-hidden', //按钮隐藏时的Class
   },

pagination:

   pagination: {
    el: '.swiper-pagination',
    type: 'bullets',
    //type: 'fraction',
    //type : 'progressbar',
    //type : 'custom',
    progressbarOpposite: true, //使进度条分页器与Swiper的direction参数相反
    bulletElement : 'li', //设定分页器指示器(小点)的HTML标签。
    dynamicBullets: true,  //动态分页器,当你的slide很多时,开启后,分页器小点的数量会部分隐藏。
    dynamicMainBullets: 2, //动态分页器的主指示点的数量
    hideOnClick: true, //默认分页器会一直显示。这个选项设置为true时点击Swiper会隐藏/显示分页器。
    clickable: true, //此参数设置为true时,点击分页器的指示点分页器会控制Swiper切换。

  },

Scrollbar:

   scrollbar: {
     el: '.swiper-scrollbar',
     hide: true, //滚动条是否自动隐藏。默认:false,不会自动隐藏。
     draggable: true, //该参数设置为true时允许拖动滚动条。
     snapOnRelease: true, //如果设置为false,释放滚动条时slide不会自动贴合。
     dragSize: 30, //设置滚动条指示的尺寸。默认'auto': 自动,或者设置num(px)。
   }

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
很抱歉,由于我是一个文本AI助手,无法直接查看或访问链接提供的内容。但是,我可以给你一些关于Vue轮播图层叠卡片的一般知识。 Vue轮播图层叠卡片是一种在Vue.js框架下实现的轮播图效果。它通常使用CSS的特性,如过渡和动画,以及Vue的指令和组件,来创建一个卡片堆叠并切换的效果。 一种常见的实现方式是使用Vue的过渡效果,将每个轮播图卡片分为多层,并通过添加不同的过渡类名来实现卡片之间的切换效果。可以使用Vue的`transition`组件或`transition-group`组件来包裹轮播图卡片,并通过设置不同的过渡类名来控制卡片之间的动画效果。 此外,还可以使用Vue的动态绑定和计算属性来实现动态切换轮播图卡片的效果。通过监听用户的交互事件或计时器,来改变显示的轮播图卡片,并添加相应的过渡效果。 总结一下,Vue轮播图层叠卡片是通过Vue.js框架和CSS特性实现的一种具有过渡效果和动画的轮播图效果。具体的实现方式可以根据具体需求和使用的库或组件来确定。如果你需要更详细的信息和代码示例,建议参考提供的链接或搜索相关的教程和文档来获取更多帮助。<span class="em">1</span> #### 引用[.reference_title] - *1* [vue手写一个卡片化层叠轮播 五张 三张](https://blog.csdn.net/sumimg/article/details/120130585)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值