1
0
mirror of https://github.com/twbs/bootstrap.git synced 2025-09-25 04:51:39 +02:00

carousel: correctly reset when the slide event is prevented

This commit is contained in:
Roland Warmerdam
2013-08-31 18:03:09 +12:00
parent 5b21768c05
commit ed1bd2b150
2 changed files with 30 additions and 9 deletions

View File

@@ -111,14 +111,16 @@
$next = this.$element.find('.item')[fallback]()
}
if ($next.hasClass('active')) return
var e = $.Event('slide.bs.carousel', { relatedTarget: $next[0], direction: direction })
this.$element.trigger(e)
if (e.isDefaultPrevented()) return
this.sliding = true
isCycling && this.pause()
var e = $.Event('slide.bs.carousel', { relatedTarget: $next[0], direction: direction })
if ($next.hasClass('active')) return
if (this.$indicators.length) {
this.$indicators.find('.active').removeClass('active')
this.$element.one('slid', function () {
@@ -128,8 +130,6 @@
}
if ($.support.transition && this.$element.hasClass('slide')) {
this.$element.trigger(e)
if (e.isDefaultPrevented()) return
$next.addClass(type)
$next[0].offsetWidth // force reflow
$active.addClass(direction)
@@ -143,8 +143,6 @@
})
.emulateTransitionEnd(600)
} else {
this.$element.trigger(e)
if (e.isDefaultPrevented()) return
$active.removeClass('active')
$next.addClass('active')
this.sliding = false