return this._getItems().indexOf(element)
}
- _getItemByOrder(order, activeElement) {
- const isNext = order === ORDER_NEXT
- return getNextActiveElement(this._getItems(), activeElement, isNext, this._config.wrap)
- }
-
_setActiveIndicatorElement(index) {
if (!this._indicatorsElement) {
return
_slide(order, element = null) {
const activeElement = this._getActive()
- const activeElementIndex = this._getItemIndex(activeElement)
-
- const nextElement = element || this._getItemByOrder(order, activeElement)
- const nextElementIndex = this._getItemIndex(nextElement)
+ const isNext = order === ORDER_NEXT
+ const nextElement = element || getNextActiveElement(this._getItems(), activeElement, isNext, this._config.wrap)
if (nextElement && nextElement.classList.contains(CLASS_NAME_ACTIVE)) {
this._isSliding = false
return
}
+ const nextElementIndex = this._getItemIndex(nextElement)
+
const triggerEvent = eventName => {
return EventHandler.trigger(this._element, eventName, {
relatedTarget: nextElement,
direction: this._orderToDirection(order),
- from: activeElementIndex,
+ from: this._getItemIndex(activeElement),
to: nextElementIndex
})
}
this._setActiveIndicatorElement(nextElementIndex)
this._activeElement = nextElement
- const isNext = order === ORDER_NEXT
const directionalClassName = isNext ? CLASS_NAME_START : CLASS_NAME_END
const orderClassName = isNext ? CLASS_NAME_NEXT : CLASS_NAME_PREV