diff options
author | fat <jacobthornton@gmail.com> | 2013-05-16 22:06:30 +0400 |
---|---|---|
committer | fat <jacobthornton@gmail.com> | 2013-05-16 22:06:30 +0400 |
commit | 14651035deda4d02a1ca02c6088c34f770f897f6 (patch) | |
tree | 34002a1d364bb2618ab2526d5f0f9bd5c823bf47 /docs/assets/js/bootstrap-carousel.js | |
parent | 509f2244da757a60d3548a7d34d63080dc01ee19 (diff) |
a bunch javascript junk
Diffstat (limited to 'docs/assets/js/bootstrap-carousel.js')
-rw-r--r-- | docs/assets/js/bootstrap-carousel.js | 237 |
1 files changed, 116 insertions, 121 deletions
diff --git a/docs/assets/js/bootstrap-carousel.js b/docs/assets/js/bootstrap-carousel.js index 0dfb70f8d9..52f4468024 100644 --- a/docs/assets/js/bootstrap-carousel.js +++ b/docs/assets/js/bootstrap-carousel.js @@ -1,5 +1,5 @@ /* ========================================================== - * bootstrap-carousel.js v3.0.0 + * carousel.js v3.0.0 * http://twitter.github.com/bootstrap/javascript.html#carousel * ========================================================== * Copyright 2012 Twitter, Inc. @@ -18,151 +18,151 @@ * ========================================================== */ -!function ($) { +!function ($) { "use strict"; - "use strict"; // jshint ;_; - - - /* CAROUSEL CLASS DEFINITION - * ========================= */ + // CAROUSEL CLASS DEFINITION + // ========================= var Carousel = function (element, options) { - this.$element = $(element) this.$indicators = this.$element.find('.carousel-indicators') - this.options = options + this.$element = $(element) + this.options = options + this.paused = + this.sliding = + this.interval = + this.$active = + this.$items = null + this.options.pause == 'hover' && this.$element .on('mouseenter', $.proxy(this.pause, this)) .on('mouseleave', $.proxy(this.cycle, this)) } - Carousel.prototype = { + Carousel.DEFAULTS = { + interval: 5000 + , pause: 'hover' + } - cycle: function (e) { - if (!e) this.paused = false - if (this.interval) clearInterval(this.interval); - this.options.interval - && !this.paused - && (this.interval = setInterval($.proxy(this.next, this), this.options.interval)) - return this - } + Carousel.prototype.cycle = function (e) { + e || (this.paused = false) - , getActiveIndex: function () { - this.$active = this.$element.find('.item.active') - this.$items = this.$active.parent().children() - return this.$items.index(this.$active) - } + this.interval && clearInterval(this.interval) + + this.options.interval + && !this.paused + && (this.interval = setInterval($.proxy(this.next, this), this.options.interval)) - , to: function (pos) { - var activeIndex = this.getActiveIndex() - , that = this + return this + } - if (pos > (this.$items.length - 1) || pos < 0) return + Carousel.prototype.getActiveIndex = function () { + this.$active = this.$element.find('.item.active') + this.$items = this.$active.parent().children() - if (this.sliding) { - return this.$element.one('slid', function () { - that.to(pos) - }) - } + return this.$items.index(this.$active) + } - if (activeIndex == pos) { - return this.pause().cycle() - } + Carousel.prototype.to = function (pos) { + var that = this + var activeIndex = this.getActiveIndex() - return this.slide(pos > activeIndex ? 'next' : 'prev', $(this.$items[pos])) - } + if (pos > (this.$items.length - 1) || pos < 0) return - , pause: function (e) { - if (!e) this.paused = true - if (this.$element.find('.next, .prev').length && $.support.transition.end) { - this.$element.trigger($.support.transition.end) - this.cycle(true) - } - clearInterval(this.interval) - this.interval = null - return this - } + if (this.sliding) return this.$element.one('slid', function () { that.to(pos) }) + if (activeIndex == pos) return this.pause().cycle() - , next: function () { - if (this.sliding) return - return this.slide('next') - } + return this.slide(pos > activeIndex ? 'next' : 'prev', $(this.$items[pos])) + } - , prev: function () { - if (this.sliding) return - return this.slide('prev') + Carousel.prototype.pause = function (e) { + e || (this.paused = true) + + if (this.$element.find('.next, .prev').length && $.support.transition.end) { + this.$element.trigger($.support.transition.end) + this.cycle(true) } - , slide: function (type, next) { - var $active = this.$element.find('.item.active') - , $next = next || $active[type]() - , isCycling = this.interval - , direction = type == 'next' ? 'left' : 'right' - , fallback = type == 'next' ? 'first' : 'last' - , that = this - , e + this.interval = clearInterval(this.interval) + + return this + } + + Carousel.prototype.next = function () { + if (this.sliding) return + return this.slide('next') + } + + Carousel.prototype.prev = function () { + if (this.sliding) return + return this.slide('prev') + } + + Carousel.prototype.slide = function (type, next) { + var $active = this.$element.find('.item.active') + var $next = next || $active[type]() + var isCycling = this.interval + var direction = type == 'next' ? 'left' : 'right' + var fallback = type == 'next' ? 'first' : 'last' + var that = this + + this.sliding = true + + isCycling && this.pause() - this.sliding = true + $next = $next.length ? $next : this.$element.find('.item')[fallback]() - isCycling && this.pause() + var e = $.Event('slide', { relatedTarget: $next[0], direction: direction }) - $next = $next.length ? $next : this.$element.find('.item')[fallback]() + if ($next.hasClass('active')) return - e = $.Event('slide', { - relatedTarget: $next[0] - , direction: direction + if (this.$indicators.length) { + this.$indicators.find('.active').removeClass('active') + this.$element.one('slid', function () { + var $nextIndicator = $(that.$indicators.children()[that.getActiveIndex()]) + $nextIndicator && $nextIndicator.addClass('active') }) + } - if ($next.hasClass('active')) return - - if (this.$indicators.length) { - this.$indicators.find('.active').removeClass('active') - this.$element.one('slid', function () { - var $nextIndicator = $(that.$indicators.children()[that.getActiveIndex()]) - $nextIndicator && $nextIndicator.addClass('active') - }) - } - - 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) - $next.addClass(direction) - this.$element.one($.support.transition.end, function () { - $next.removeClass([type, direction].join(' ')).addClass('active') - $active.removeClass(['active', direction].join(' ')) - that.sliding = false - setTimeout(function () { that.$element.trigger('slid') }, 0) - }) - } else { - this.$element.trigger(e) - if (e.isDefaultPrevented()) return - $active.removeClass('active') - $next.addClass('active') - this.sliding = false - this.$element.trigger('slid') - } - - isCycling && this.cycle() - - return this + 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) + $next.addClass(direction) + this.$element.one($.support.transition.end, function () { + $next.removeClass([type, direction].join(' ')).addClass('active') + $active.removeClass(['active', direction].join(' ')) + that.sliding = false + setTimeout(function () { that.$element.trigger('slid') }, 0) + }) + } else { + this.$element.trigger(e) + if (e.isDefaultPrevented()) return + $active.removeClass('active') + $next.addClass('active') + this.sliding = false + this.$element.trigger('slid') } + isCycling && this.cycle() + + return this } - /* CAROUSEL PLUGIN DEFINITION - * ========================== */ + // CAROUSEL PLUGIN DEFINITION + // ========================== var old = $.fn.carousel $.fn.carousel = function (option) { return this.each(function () { - var $this = $(this) - , data = $this.data('carousel') - , options = $.extend({}, $.fn.carousel.defaults, typeof option == 'object' && option) - , action = typeof option == 'string' ? option : options.slide + var $this = $(this) + var data = $this.data('carousel') + var options = $.extend({}, Carousel.DEFAULTS, typeof option == 'object' && option) + var action = typeof option == 'string' ? option : options.slide + if (!data) $this.data('carousel', (data = new Carousel(this, options))) if (typeof option == 'number') data.to(option) else if (action) data[action]() @@ -170,30 +170,25 @@ }) } - $.fn.carousel.defaults = { - interval: 5000 - , pause: 'hover' - } - $.fn.carousel.Constructor = Carousel - /* CAROUSEL NO CONFLICT - * ==================== */ + // CAROUSEL NO CONFLICT + // ==================== $.fn.carousel.noConflict = function () { $.fn.carousel = old return this } - /* CAROUSEL DATA-API - * ================= */ + // CAROUSEL DATA-API + // ================= $(document).on('click.carousel.data-api', '[data-slide], [data-slide-to]', function (e) { var $this = $(this), href - , $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7 - , options = $.extend({}, $target.data(), $this.data()) - , slideIndex + var $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7 + var options = $.extend({}, $target.data(), $this.data()) + var slideIndex $target.carousel(options) |