diff options
| author | Katie Zhu <[email protected]> | 2014-06-09 21:54:31 -0700 |
|---|---|---|
| committer | Katie Zhu <[email protected]> | 2014-06-09 21:59:03 -0700 |
| commit | 5eaedbe09784372f5f0935c871754ec6bcfe1154 (patch) | |
| tree | c8fb9191f8dc7c5da04a7ed9617b7877df3f05e7 /js/carousel.js | |
| parent | 2213a5b756ad01042bd6e68b9a17f591ca62e977 (diff) | |
| download | bootstrap-5eaedbe09784372f5f0935c871754ec6bcfe1154.tar.xz bootstrap-5eaedbe09784372f5f0935c871754ec6bcfe1154.zip | |
change how carousel indicators activate #12592
Diffstat (limited to 'js/carousel.js')
| -rw-r--r-- | js/carousel.js | 16 |
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" |
