diff options
Diffstat (limited to 'assets/javascripts/bootstrap.js')
-rw-r--r-- | assets/javascripts/bootstrap.js | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/assets/javascripts/bootstrap.js b/assets/javascripts/bootstrap.js index 7597fb3..c2fbb79 100644 --- a/assets/javascripts/bootstrap.js +++ b/assets/javascripts/bootstrap.js @@ -646,7 +646,8 @@ var Carousel = function ($) { Carousel.prototype.nextWhenVisible = function nextWhenVisible() { // Don't call next when the page isn't visible - if (!document.hidden) { + // or the carousel or its parent isn't visible + if (!document.hidden && $(this._element).is(':visible') && $(this._element).css('visibility') !== 'hidden') { this.next(); } }; @@ -2750,6 +2751,7 @@ var Tab = function ($) { DROPDOWN: '.dropdown', NAV_LIST_GROUP: '.nav, .list-group', ACTIVE: '.active', + ACTIVE_UL: '> li > .active', DATA_TOGGLE: '[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]', DROPDOWN_TOGGLE: '.dropdown-toggle', DROPDOWN_ACTIVE_CHILD: '> .dropdown-menu .active' @@ -2785,7 +2787,8 @@ var Tab = function ($) { var selector = Util.getSelectorFromElement(this._element); if (listElement) { - previous = $.makeArray($(listElement).find(Selector.ACTIVE)); + var itemSelector = listElement.nodeName === 'UL' ? Selector.ACTIVE_UL : Selector.ACTIVE; + previous = $.makeArray($(listElement).find(itemSelector)); previous = previous[previous.length - 1]; } @@ -2843,7 +2846,14 @@ var Tab = function ($) { Tab.prototype._activate = function _activate(element, container, callback) { var _this23 = this; - var active = $(container).find(Selector.ACTIVE)[0]; + var activeElements = void 0; + if (container.nodeName === 'UL') { + activeElements = $(container).find(Selector.ACTIVE_UL); + } else { + activeElements = $(container).children(Selector.ACTIVE); + } + + var active = activeElements[0]; var isTransitioning = callback && Util.supportsTransitionEnd() && active && $(active).hasClass(ClassName.FADE); var complete = function complete() { |