From a579d0f05da29e543869f800acd85da3d48d4738 Mon Sep 17 00:00:00 2001 From: GeoSot Date: Fri, 10 Sep 2021 12:09:39 +0300 Subject: simplify slide check --- js/src/carousel.js | 36 ++++++++++++++++-------------------- 1 file changed, 16 insertions(+), 20 deletions(-) diff --git a/js/src/carousel.js b/js/src/carousel.js index 1a230748e..9334b290a 100644 --- a/js/src/carousel.js +++ b/js/src/carousel.js @@ -425,39 +425,35 @@ class Carousel extends BaseComponent { }) } - if (this._element.classList.contains(CLASS_NAME_SLIDE)) { - nextElement.classList.add(orderClassName) + nextElement.classList.add(orderClassName) - reflow(nextElement) + reflow(nextElement) - activeElement.classList.add(directionalClassName) - nextElement.classList.add(directionalClassName) + activeElement.classList.add(directionalClassName) + nextElement.classList.add(directionalClassName) - const completeCallBack = () => { - nextElement.classList.remove(directionalClassName, orderClassName) - nextElement.classList.add(CLASS_NAME_ACTIVE) - - activeElement.classList.remove(CLASS_NAME_ACTIVE, orderClassName, directionalClassName) - - this._isSliding = false - - setTimeout(triggerSlidEvent, 0) - } - - this._queueCallback(completeCallBack, activeElement, true) - } else { - activeElement.classList.remove(CLASS_NAME_ACTIVE) + const completeCallBack = () => { + nextElement.classList.remove(directionalClassName, orderClassName) nextElement.classList.add(CLASS_NAME_ACTIVE) + activeElement.classList.remove(CLASS_NAME_ACTIVE, orderClassName, directionalClassName) + this._isSliding = false - triggerSlidEvent() + + setTimeout(triggerSlidEvent, 0) } + this._queueCallback(completeCallBack, activeElement, this._isAnimated()) + if (this._interval) { this.cycle() } } + _isAnimated() { + return this._element.classList.contains(CLASS_NAME_SLIDE) + } + _getActive() { return SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element) } -- cgit v1.2.3