mirror of
https://github.com/twbs/bootstrap.git
synced 2025-02-21 21:40:48 +00:00
Carousel: add a helper to get the active element
This commit is contained in:
parent
65cf77ae3e
commit
d60f146507
@ -173,7 +173,7 @@ class Carousel extends BaseComponent {
|
|||||||
}
|
}
|
||||||
|
|
||||||
to(index) {
|
to(index) {
|
||||||
this._activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)
|
this._activeElement = this._getActive()
|
||||||
const activeIndex = this._getItemIndex(this._activeElement)
|
const activeIndex = this._getItemIndex(this._activeElement)
|
||||||
|
|
||||||
if (index > this._items.length - 1 || index < 0) {
|
if (index > this._items.length - 1 || index < 0) {
|
||||||
@ -282,7 +282,7 @@ class Carousel extends BaseComponent {
|
|||||||
|
|
||||||
_triggerSlideEvent(relatedTarget, eventDirectionName) {
|
_triggerSlideEvent(relatedTarget, eventDirectionName) {
|
||||||
const targetIndex = this._getItemIndex(relatedTarget)
|
const targetIndex = this._getItemIndex(relatedTarget)
|
||||||
const fromIndex = this._getItemIndex(SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element))
|
const fromIndex = this._getItemIndex(this._getActive())
|
||||||
|
|
||||||
return EventHandler.trigger(this._element, EVENT_SLIDE, {
|
return EventHandler.trigger(this._element, EVENT_SLIDE, {
|
||||||
relatedTarget,
|
relatedTarget,
|
||||||
@ -312,7 +312,7 @@ class Carousel extends BaseComponent {
|
|||||||
}
|
}
|
||||||
|
|
||||||
_updateInterval() {
|
_updateInterval() {
|
||||||
const element = this._activeElement || SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)
|
const element = this._activeElement || this._getActive()
|
||||||
|
|
||||||
if (!element) {
|
if (!element) {
|
||||||
return
|
return
|
||||||
@ -330,7 +330,7 @@ class Carousel extends BaseComponent {
|
|||||||
|
|
||||||
_slide(directionOrOrder, element) {
|
_slide(directionOrOrder, element) {
|
||||||
const order = this._directionToOrder(directionOrOrder)
|
const order = this._directionToOrder(directionOrOrder)
|
||||||
const activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)
|
const activeElement = this._getActive()
|
||||||
const activeElementIndex = this._getItemIndex(activeElement)
|
const activeElementIndex = this._getItemIndex(activeElement)
|
||||||
const nextElement = element || this._getItemByOrder(order, activeElement)
|
const nextElement = element || this._getItemByOrder(order, activeElement)
|
||||||
|
|
||||||
@ -412,6 +412,10 @@ class Carousel extends BaseComponent {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_getActive() {
|
||||||
|
return SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)
|
||||||
|
}
|
||||||
|
|
||||||
_directionToOrder(direction) {
|
_directionToOrder(direction) {
|
||||||
if (![DIRECTION_RIGHT, DIRECTION_LEFT].includes(direction)) {
|
if (![DIRECTION_RIGHT, DIRECTION_LEFT].includes(direction)) {
|
||||||
return direction
|
return direction
|
||||||
|
Loading…
x
Reference in New Issue
Block a user