1
0
mirror of https://github.com/twbs/bootstrap.git synced 2025-08-07 06:06:47 +02:00

Carousel: merge slide functionality, regardless of whether it is animated or not

This commit is contained in:
GeoSot
2022-01-31 00:22:33 +02:00
committed by XhmikosR
parent a247fe9b27
commit d97125475b

View File

@@ -372,39 +372,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) activeElement.classList.add(directionalClassName)
nextElement.classList.add(directionalClassName) nextElement.classList.add(directionalClassName)
const completeCallBack = () => { const completeCallBack = () => {
nextElement.classList.remove(directionalClassName, orderClassName) 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)
nextElement.classList.add(CLASS_NAME_ACTIVE) nextElement.classList.add(CLASS_NAME_ACTIVE)
activeElement.classList.remove(CLASS_NAME_ACTIVE, orderClassName, directionalClassName)
this._isSliding = false this._isSliding = false
triggerSlidEvent()
setTimeout(triggerSlidEvent, 0)
} }
this._queueCallback(completeCallBack, activeElement, this._isAnimated())
if (isCycling) { if (isCycling) {
this.cycle() this.cycle()
} }
} }
_isAnimated() {
return this._element.classList.contains(CLASS_NAME_SLIDE)
}
_getActive() { _getActive() {
return SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element) return SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)
} }