diff --git a/package/component/src/component/carousel/index.less b/package/component/src/component/carousel/index.less index 2f801c53..9458492f 100644 --- a/package/component/src/component/carousel/index.less +++ b/package/component/src/component/carousel/index.less @@ -38,6 +38,7 @@ background-color: #f8f8f8; transition-duration: 0.3s; -webkit-transition-duration: 0.3s; + overflow: hidden; } .layui-carousel-updown > * { @@ -205,6 +206,7 @@ right: 20px; width: auto; height: auto; + transform: translateY(-50%); } .layui-carousel[lay-anim="updown"] .layui-carousel-ind ul { diff --git a/package/component/src/component/carousel/index.vue b/package/component/src/component/carousel/index.vue index d1da846c..8de43e16 100644 --- a/package/component/src/component/carousel/index.vue +++ b/package/component/src/component/carousel/index.vue @@ -53,6 +53,15 @@ const active = computed({ }, }); +const anim = computed({ + get() { + return props.anim; + }, + set() { + + }, +}); + const emit = defineEmits(["update:modelValue", "change"]); const change = function (id: any) { @@ -85,6 +94,7 @@ watch( provide("active", active); provide("slotsChange", slotsChange); +provide("anim", anim); const sub = () => { for (var i = 0; i < childrens.value.length; i++) { @@ -128,6 +138,7 @@ const autoplay = () => { watch( () => props.autoplay, () => { + if(props.autoplay) setInterval(autoplay, props.interval); }, { immediate: true } diff --git a/package/component/src/component/carouselItem/index.vue b/package/component/src/component/carouselItem/index.vue index 5f2da685..5e792ec5 100644 --- a/package/component/src/component/carouselItem/index.vue +++ b/package/component/src/component/carouselItem/index.vue @@ -5,7 +5,7 @@ export default { diff --git a/package/document/src/document/zh-CN/components/carousel.md b/package/document/src/document/zh-CN/components/carousel.md index 87521a32..faf4cf71 100644 --- a/package/document/src/document/zh-CN/components/carousel.md +++ b/package/document/src/document/zh-CN/components/carousel.md @@ -9,16 +9,16 @@ @@ -40,26 +40,56 @@ export default { ::: -::: title 不同方向 +::: title 不同方向与不同切换动画 ::: -::: demo +::: demo 通过 `anim` 属性来控制切换的放向与动画,支持 `default`左右切换(默认)、`updown`上线切换、`fade`渐隐渐显切换