aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--js/carousel.js16
1 files changed, 6 insertions, 10 deletions
diff --git a/js/carousel.js b/js/carousel.js
index e2cb67a5e..f0117980d 100644
--- a/js/carousel.js
+++ b/js/carousel.js
@@ -48,16 +48,14 @@
return this
}
- Carousel.prototype.getActiveIndex = function () {
- this.$active = this.$element.find('.item.active')
- this.$items = this.$active.parent().children('.item')
-
- return this.$items.index(this.$active)
+ Carousel.prototype.getItemIndex = function (item) {
+ this.$items = item.parent().children('.item')
+ return this.$items.index(item || this.$active)
}
Carousel.prototype.to = function (pos) {
var that = this
- var activeIndex = this.getActiveIndex()
+ var activeIndex = this.getItemIndex(this.$active = this.$element.find('.item.active'))
if (pos > (this.$items.length - 1) || pos < 0) return
@@ -119,10 +117,8 @@
if (this.$indicators.length) {
this.$indicators.find('.active').removeClass('active')
- this.$element.one('slid.bs.carousel', function () { // yes, "slid"
- var $nextIndicator = $(that.$indicators.children()[that.getActiveIndex()])
- $nextIndicator && $nextIndicator.addClass('active')
- })
+ var $nextIndicator = $(this.$indicators.children()[this.getItemIndex($next)])
+ $nextIndicator && $nextIndicator.addClass('active')
}
var slidEvent = $.Event('slid.bs.carousel', { relatedTarget: relatedTarget, direction: direction }) // yes, "slid"