Commit bade4e13bc81d28070e93823a233f3d136ce34cd
Committed by
GitHub
Merge pull request #228 from rijn/carousel
reset autoplay timer after trigger
Showing
1 changed file
with
10 additions
and
3 deletions
Show diff stats
src/components/carousel/carousel.vue
1 | 1 | <template> |
2 | 2 | <div :class="classes"> |
3 | - <button :class="arrowClasses" class="left" @click="add(-1)"> | |
3 | + <button :class="arrowClasses" class="left" @click="arrowEvent(-1)"> | |
4 | 4 | <Icon type="chevron-left"></Icon> |
5 | 5 | </button> |
6 | 6 | <div :class="[prefixCls + '-list']"> |
... | ... | @@ -8,7 +8,7 @@ |
8 | 8 | <slot></slot> |
9 | 9 | </div> |
10 | 10 | </div> |
11 | - <button :class="arrowClasses" class="right" @click="add(1)"> | |
11 | + <button :class="arrowClasses" class="right" @click="arrowEvent(1)"> | |
12 | 12 | <Icon type="chevron-right"></Icon> |
13 | 13 | </button> |
14 | 14 | <ul :class="dotsClasses"> |
... | ... | @@ -175,11 +175,13 @@ |
175 | 175 | |
176 | 176 | this.updateSlides(true, true); |
177 | 177 | this.updatePos(); |
178 | + this.updateOffset(); | |
178 | 179 | }); |
179 | 180 | }, |
180 | 181 | handleResize () { |
181 | 182 | this.listWidth = parseInt(getStyle(this.$el, 'width')); |
182 | 183 | this.updatePos(); |
184 | + this.updateOffset(); | |
183 | 185 | }, |
184 | 186 | add (offset) { |
185 | 187 | let index = this.currentIndex; |
... | ... | @@ -188,9 +190,15 @@ |
188 | 190 | index = index % this.slides.length; |
189 | 191 | this.currentIndex = index; |
190 | 192 | }, |
193 | + arrowEvent (offset) { | |
194 | + this.setAutoplay(); | |
195 | + this.add(offset); | |
196 | + }, | |
191 | 197 | dotsEvent (event, n) { |
192 | 198 | if (event === this.trigger && this.currentIndex !== n) { |
193 | 199 | this.currentIndex = n; |
200 | + // Reset autoplay timer when trigger be activated | |
201 | + this.setAutoplay(); | |
194 | 202 | } |
195 | 203 | }, |
196 | 204 | setAutoplay () { |
... | ... | @@ -203,7 +211,6 @@ |
203 | 211 | }, |
204 | 212 | updateOffset () { |
205 | 213 | this.$nextTick(() => { |
206 | - this.handleResize(); | |
207 | 214 | this.trackOffset = this.currentIndex * this.listWidth; |
208 | 215 | }); |
209 | 216 | } | ... | ... |