mirror of
https://github.com/twbs/bootstrap.git
synced 2025-02-06 04:08:22 +01:00
honor wrap option in Carousel.getItemForDirection; fixes #15144
This commit is contained in:
parent
8008fe707e
commit
b7398bc9c4
@ -70,8 +70,11 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
Carousel.prototype.getItemForDirection = function (direction, active) {
|
Carousel.prototype.getItemForDirection = function (direction, active) {
|
||||||
var delta = direction == 'prev' ? -1 : 1
|
|
||||||
var activeIndex = this.getItemIndex(active)
|
var activeIndex = this.getItemIndex(active)
|
||||||
|
var willWrap = (direction == 'prev' && activeIndex === 0)
|
||||||
|
|| (direction == 'next' && activeIndex == (this.$items.length - 1))
|
||||||
|
if (willWrap && !this.options.wrap) return active
|
||||||
|
var delta = direction == 'prev' ? -1 : 1
|
||||||
var itemIndex = (activeIndex + delta) % this.$items.length
|
var itemIndex = (activeIndex + delta) % this.$items.length
|
||||||
return this.$items.eq(itemIndex)
|
return this.$items.eq(itemIndex)
|
||||||
}
|
}
|
||||||
@ -116,14 +119,8 @@
|
|||||||
var $next = next || this.getItemForDirection(type, $active)
|
var $next = next || this.getItemForDirection(type, $active)
|
||||||
var isCycling = this.interval
|
var isCycling = this.interval
|
||||||
var direction = type == 'next' ? 'left' : 'right'
|
var direction = type == 'next' ? 'left' : 'right'
|
||||||
var fallback = type == 'next' ? 'first' : 'last'
|
|
||||||
var that = this
|
var that = this
|
||||||
|
|
||||||
if (!$next.length) {
|
|
||||||
if (!this.options.wrap) return
|
|
||||||
$next = this.$element.find('.item')[fallback]()
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($next.hasClass('active')) return (this.sliding = false)
|
if ($next.hasClass('active')) return (this.sliding = false)
|
||||||
|
|
||||||
var relatedTarget = $next[0]
|
var relatedTarget = $next[0]
|
||||||
|
Loading…
x
Reference in New Issue
Block a user