Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/twbs/bootstrap.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfat <jacobthornton@gmail.com>2013-05-16 22:06:30 +0400
committerfat <jacobthornton@gmail.com>2013-05-16 22:06:30 +0400
commit14651035deda4d02a1ca02c6088c34f770f897f6 (patch)
tree34002a1d364bb2618ab2526d5f0f9bd5c823bf47 /docs/assets/js/bootstrap-carousel.js
parent509f2244da757a60d3548a7d34d63080dc01ee19 (diff)
a bunch javascript junk
Diffstat (limited to 'docs/assets/js/bootstrap-carousel.js')
-rw-r--r--docs/assets/js/bootstrap-carousel.js237
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)