From 7628fc0e4110e57505baff6fadc5047837b385a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E5=A5=95?= Date: Sat, 4 Feb 2017 18:35:09 +0800 Subject: [PATCH] Carousel: apply infinite sliding in non-card mode (#2622) --- packages/carousel/src/item.vue | 7 +++---- packages/theme-default/src/carousel-item.css | 5 ++++- packages/theme-default/src/carousel.css | 1 + 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/packages/carousel/src/item.vue b/packages/carousel/src/item.vue index 01cc595a6..cb99a37b9 100644 --- a/packages/carousel/src/item.vue +++ b/packages/carousel/src/item.vue @@ -70,11 +70,10 @@ translateItem(index, activeIndex) { const parentWidth = this.$parent.$el.offsetWidth; const length = this.$parent.items.length; - + if (index !== activeIndex && length > 2) { + index = this.processIndex(index, activeIndex, length); + } if (this.$parent.type === 'card') { - if (index !== activeIndex && length > 2) { - index = this.processIndex(index, activeIndex, length); - } this.inStage = Math.round(Math.abs(index - activeIndex)) <= 1; this.active = index === activeIndex; this.translate = this.calculateTranslate(index, activeIndex, parentWidth); diff --git a/packages/theme-default/src/carousel-item.css b/packages/theme-default/src/carousel-item.css index 8991757b9..2bf1e2307 100644 --- a/packages/theme-default/src/carousel-item.css +++ b/packages/theme-default/src/carousel-item.css @@ -13,10 +13,13 @@ display: inline-block; transition: .4s ease-in-out; overflow: hidden; + z-index: calc(var(--index-normal) - 1); + @when active { + z-index: calc(var(--index-normal) + 1); + } @modifier card { width: 50%; - z-index: calc(var(--index-normal) - 1); &.is-in-stage { cursor: pointer; z-index: var(--index-normal); diff --git a/packages/theme-default/src/carousel.css b/packages/theme-default/src/carousel.css index 467b09e24..52edb2cad 100644 --- a/packages/theme-default/src/carousel.css +++ b/packages/theme-default/src/carousel.css @@ -55,6 +55,7 @@ transform: translateX(-50%); margin: 0; padding: 0; + z-index: calc(var(--index-normal) + 1); @modifier outside { bottom: calc(var(--carousel-indicator-height) + var(--carousel-indicator-padding-vertical) * 2);