From f83240a8f93349c93582a96c4f4a7541388d6a80 Mon Sep 17 00:00:00 2001 From: Jacob Thornton Date: Sun, 8 Jan 2012 13:39:27 -0800 Subject: [PATCH 1/3] add slide and slid events + disable sliding during slide --- js/bootstrap-carousel.js | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/js/bootstrap-carousel.js b/js/bootstrap-carousel.js index fa5247c97e..c49f89ad80 100644 --- a/js/bootstrap-carousel.js +++ b/js/bootstrap-carousel.js @@ -44,10 +44,12 @@ } , next: function () { + if (this.sliding) return return this.slide('next') } , prev: function () { + if (this.sliding) return return this.slide('prev') } @@ -59,21 +61,29 @@ , fallback = type == 'next' ? 'first' : 'last' , that = this + this.sliding = true + isCycling && this.pause() $next = $next.length ? $next : this.$element.find('.item')[fallback]() if (!$.support.transition && this.$element.hasClass('slide')) { + this.$element.trigger('slide') $active.removeClass('active') $next.addClass('active') + this.$element.trigger('slid') + this.sliding = false } else { $next.addClass(type) $next[0].offsetWidth // force reflow $active.addClass(direction) $next.addClass(direction) + this.$element.trigger('slide') this.$element.one($.support.transition.end, function () { $next.removeClass([type, direction].join(' ')).addClass('active') $active.removeClass(['active', direction].join(' ')) + that.$element.trigger('slid') + that.sliding = false }) } From 561fc8cf2a955c28906216301d2fdb3c39b8e981 Mon Sep 17 00:00:00 2001 From: Jacob Thornton Date: Sun, 8 Jan 2012 13:54:00 -0800 Subject: [PATCH 2/3] document slide and slid methods --- docs/javascript.html | 53 +++++++++++++++++++++++++++++++------------- 1 file changed, 37 insertions(+), 16 deletions(-) diff --git a/docs/javascript.html b/docs/javascript.html index 864e6784b9..f9877dc028 100644 --- a/docs/javascript.html +++ b/docs/javascript.html @@ -362,7 +362,7 @@ $('#myModal').on('hidden', function () {
  • @fat
  • @mdo