【个人开源】Vue3 轮播组件: v3-carousel
引水方知开源不易
与朋友首次开源了一个轮播插件,希望大家积极品尝
介绍
基于 vue3 composition api 编写的轮播插件,多种属性适配,轮播内容 可完全自定义
,基本可以满足大部分的轮播需求。
基本功能介绍:
- 是否开启自动轮播,自定义轮播时间
- 鼠标移入后暂停轮播,鼠标移出后重置轮播
- 点击 左侧/右侧 切换按钮,手动切换
- 点击 底部轮播指示器,手动切换
- 切换按钮 与 轮播指示器,可设置 hover 展示
- 左侧切换向左滚动,右侧切换向右滚动
- …
在线Demo:正在制作…
安装
1 | npm install v3-carousel |
or
1 | yarn add v3-carousel |
使用
main.js
1 | import { createApp } from "vue"; |
注意点:将你需要显示的图片使用
CarouselItem
包裹起来(创建CarouselItem
暂时必须使用v-for
循环完成,因为我需要使用到idx
来操作),完成之后你还需要将这些CarouselItem
用一个大的Carousel
包裹起来,再给Carousel
添加你需要的属性,好了,到这里一个实例就完成了,你可以去网页上查看轮播图了
App.vue
1 | <template> |
参数
Carousel 组件选项(Props)
property name | type | default value | meaning |
---|---|---|---|
containerWidth | String | 100% | 设置整个carousel容器的宽度,当然你也可以使用vw,rem,em等像素单位 |
containerHeight | String | 100% | 设置整个carousel容器的g高度,同上 |
duration | Number | 3000 | 轮播间隔是多久一次 |
initIndex | Number | 0 | 初始化显示的图片索引 |
autoplay | Boolean | true | 是否自动开始轮播 |
direction | Boolean | true | 是否需要切换按钮(即 上、下一张按钮) |
directionMode | String | always | 切换按钮的展示方式,可选 always、hover |
directionColor | String | white | 切换按钮的颜色 |
directionSize | Number | 25 | 切换按钮的大小,单位(px) |
indicator | Boolean | true | 是否需要轮播图指示器(底部当前选中标识) |
indicatorMode | String | always | 切换按钮的展示方式,可选 always、hover |
indicatorColor | String | #FFFFFF80 | 未选中时的指示器颜色 |
indicatorActiveColor | String | #FFFFFF | 选中时的指示器颜色 |
Carousel 事件(Event)
event Name | parmas | meaning |
---|---|---|
@before-moving | 该钩子函数拥有一个对象参数,你可以获取到它们:轮播的方向(direction)以及当前轮播的索引(index) | 视图移动前会执行的钩子函数,如果您想在轮播图轮播前做一些逻辑可以使用该钩子 |
@after-moving | 同上… | 视图移动完成后会执行的钩子函数,如果您想在轮播图轮播完成之后做一些逻辑可以使用该钩子 |
CarouselItem 组件选项(Props)
property name | type | default value | meaning |
---|---|---|---|
idx | Number | 0 | 每个子实例对应的索引,一般用 v-for 中的第二个参数即可 |
联系方式
使用如果出现问题欢迎来讨论,觉得好用的话就点个
star
吧,o( ̄▽ ̄)o有什么建议欢迎大佬们提交
pr
,谢谢!
repo归属者
- WeChat: x972761675
- 前端qq交流群: 700785102
目前维护者: 淳淳同学
相关链接
祝君无Bug~
All articles on this blog are licensed under CC BY-NC-SA 4.0 unless otherwise stated.