aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Otto <[email protected]>2011-10-20 09:14:02 -0700
committerMark Otto <[email protected]>2011-10-20 09:14:02 -0700
commit80332e8340dfdb9d73caa682016746823b9d0d82 (patch)
tree655b9f9c9e93c485ca29a3fcc147f450c8565b89
parenta5d2450e88693de5e96d9a9f3f4e82853723f764 (diff)
parent523e02f7df3bb706654b43cf604e61c9396212e1 (diff)
downloadbootstrap-80332e8340dfdb9d73caa682016746823b9d0d82.tar.xz
bootstrap-80332e8340dfdb9d73caa682016746823b9d0d82.zip
Merge branch '2.0-wip' of github.com:twitter/bootstrap into 2.0-wip
-rw-r--r--docs/assets/js/application.js2
-rw-r--r--docs/index.html65
-rw-r--r--js/bootstrap-accordion.js41
-rw-r--r--js/bootstrap-alerts.js82
-rw-r--r--js/bootstrap-dropdown.js31
-rw-r--r--js/bootstrap-modal.js83
-rw-r--r--js/bootstrap-popover.js3
-rw-r--r--js/bootstrap-scrollspy.js56
-rw-r--r--js/bootstrap-tabs.js31
-rw-r--r--js/bootstrap-transitions.js45
-rw-r--r--js/bootstrap-twipsy.js33
-rw-r--r--js/tests/index.html1
12 files changed, 213 insertions, 260 deletions
diff --git a/docs/assets/js/application.js b/docs/assets/js/application.js
index 16a20e068..74024caa1 100644
--- a/docs/assets/js/application.js
+++ b/docs/assets/js/application.js
@@ -1,4 +1,4 @@
-$(document).ready(function(){
+$(function(){
// table sort example
// ==================
diff --git a/docs/index.html b/docs/index.html
index 3908552bd..49e6d0431 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -53,8 +53,8 @@
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-dropdown="true">Patterns</a>
<ul class="dropdown-menu">
- <li><a href="#navigation">Navigation</a></li>
<li><a href="#media">Media</a></li>
+ <li><a href="#navigation">Navigation</a></li>
<li><a href="#alerts">Alerts</a></li>
<li><a href="#popovers">Popovers</a></li>
<li><a href="#autocomplete">Autocomplete</a></li>
@@ -147,36 +147,38 @@
<!-- About Bootstrap
================================================== -->
- <div class="row">
- <div class="span4">
- <h2>Built for and by nerds</h2>
- <p>Engineers at Twitter have historically used almost any library they were familiar with to meet front-end requirements. Bootstrap began as an answer to the challenges that presented. With the help of many awesome folks, Bootstrap has grown significantly.</p>
- <p>Read more on <a href="https://dev.twitter.com/blog/bootstrap-twitter">dev.twitter.com &rsaquo;</a></p>
- </div>
- <div class="span4">
- <h2>Cross-everything</h2>
- <p>Bootstrap is tested and supported in major modern browsers like Chrome, Safari, Internet Explorer, and Firefox.</p>
- <img class="browser-support" src="assets/img/browsers.png" alt="Tested and supported in Chrome, Safari, Internet Explorer, and Firefox">
- <ul>
- <li>Latest Safari</li>
- <li>Latest Google Chrome</li>
- <li>Firefox 4+</li>
- <li>Internet Explorer 7+</li>
- <li>Opera 11</li>
- </ul>
- </div>
- <div class="span4">
- <h2>What's included</h2>
- <p>Bootstrap comes complete with compiled CSS, uncompiled, and example templates.</p>
- <ul>
- <li><span class="label">New in 1.3</span> <a href="./javascript.html">Javascript plugins</a></li>
- <li>All original .less files</li>
- <li>Fully <a href="../bootstrap.css">compiled</a> and <a href="../bootstrap.min.css">minified</a> CSS</li>
- <li>Complete styleguide documentation</li>
- <li>Three example pages with different layouts</li>
- </ul>
- </div>
- </div><!-- /row -->
+ <section id="about">
+ <div class="row">
+ <div class="span4">
+ <h2>Built for and by nerds</h2>
+ <p>Engineers at Twitter have historically used almost any library they were familiar with to meet front-end requirements. Bootstrap began as an answer to the challenges that presented. With the help of many awesome folks, Bootstrap has grown significantly.</p>
+ <p>Read more on <a href="https://dev.twitter.com/blog/bootstrap-twitter">dev.twitter.com &rsaquo;</a></p>
+ </div>
+ <div class="span4">
+ <h2>Cross-everything</h2>
+ <p>Bootstrap is tested and supported in major modern browsers like Chrome, Safari, Internet Explorer, and Firefox.</p>
+ <img class="browser-support" src="assets/img/browsers.png" alt="Tested and supported in Chrome, Safari, Internet Explorer, and Firefox">
+ <ul>
+ <li>Latest Safari</li>
+ <li>Latest Google Chrome</li>
+ <li>Firefox 4+</li>
+ <li>Internet Explorer 7+</li>
+ <li>Opera 11</li>
+ </ul>
+ </div>
+ <div class="span4">
+ <h2>What's included</h2>
+ <p>Bootstrap comes complete with compiled CSS, uncompiled, and example templates.</p>
+ <ul>
+ <li><span class="label">New in 1.3</span> <a href="./javascript.html">Javascript plugins</a></li>
+ <li>All original .less files</li>
+ <li>Fully <a href="../bootstrap.css">compiled</a> and <a href="../bootstrap.min.css">minified</a> CSS</li>
+ <li>Complete styleguide documentation</li>
+ <li>Three example pages with different layouts</li>
+ </ul>
+ </div>
+ </div><!-- /row -->
+ </section>
<h3>Quick-start examples</h3>
<p>Need some quick templates? Check out these basic examples we've put together:</p>
@@ -2184,6 +2186,7 @@ Lorem ipsum dolar sit amet illo error <a href="#" title="below">ipsum</a> verita
<script src="http://autobahn.tablesorter.com/jquery.tablesorter.min.js"></script>
<script src="assets/js/google-code-prettify/prettify.js"></script>
<script>$(function () { prettyPrint() })</script>
+ <script src="../js/bootstrap-transitions.js"></script>
<script src="../js/bootstrap-dropdown.js"></script>
<script src="../js/bootstrap-twipsy.js"></script>
<script src="../js/bootstrap-scrollspy.js"></script>
diff --git a/js/bootstrap-accordion.js b/js/bootstrap-accordion.js
new file mode 100644
index 000000000..9a24b5ddf
--- /dev/null
+++ b/js/bootstrap-accordion.js
@@ -0,0 +1,41 @@
+/* =============================================================
+ * bootstrap-accordion.js v2.0.0
+ * http://twitter.github.com/bootstrap/javascript.html#accordion
+ * =============================================================
+ * Copyright 2011 Twitter, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============================================================ */
+
+(function( $ ){
+
+ var Accordion = function ( element, options ) {}
+
+ Accordion.prototype = {}
+
+ /* ALERT PLUGIN DEFINITION
+ * ======================= */
+
+ $.fn.accordion = function ( options ) {
+
+ if ( options === true ) {
+ return this.data('accordion')
+ }
+
+ return this.each(function () {
+ new Accordion(this, options)
+ })
+ }
+
+
+})( window.jQuery || window.ender ) \ No newline at end of file
diff --git a/js/bootstrap-alerts.js b/js/bootstrap-alerts.js
index 4498270cb..4f1acfa3d 100644
--- a/js/bootstrap-alerts.js
+++ b/js/bootstrap-alerts.js
@@ -1,5 +1,5 @@
/* ==========================================================
- * bootstrap-alerts.js v1.3.0
+ * bootstrap-alerts.js v2.0.0
* http://twitter.github.com/bootstrap/javascript.html#alerts
* ==========================================================
* Copyright 2011 Twitter, Inc.
@@ -17,90 +17,32 @@
* limitations under the License.
* ========================================================== */
-
(function( $ ){
- /* CSS TRANSITION SUPPORT (https://gist.github.com/373874)
- * ======================================================= */
-
- var transitionEnd
-
- $(document).ready(function () {
-
- $.support.transition = (function () {
- var thisBody = document.body || document.documentElement
- , thisStyle = thisBody.style
- , support = thisStyle.transition !== undefined || thisStyle.WebkitTransition !== undefined || thisStyle.MozTransition !== undefined || thisStyle.MsTransition !== undefined || thisStyle.OTransition !== undefined
- return support
- })()
-
- // set CSS transition event type
- if ( $.support.transition ) {
- transitionEnd = "TransitionEnd"
- if ( $.browser.webkit ) {
- transitionEnd = "webkitTransitionEnd"
- } else if ( $.browser.mozilla ) {
- transitionEnd = "transitionend"
- } else if ( $.browser.opera ) {
- transitionEnd = "oTransitionEnd"
- }
- }
-
- })
-
/* ALERT CLASS DEFINITION
* ====================== */
- var Alert = function ( content, selector ) {
- this.$element = $(content)
- .delegate('[data-alert-dismiss]', 'click', this.close)
- }
-
- Alert.prototype = {
-
- close: function (e) {
- var $element = $(this).parent('.alert-message')
+ function close(e) {
+ var $element = $(this).parent('.alert-message')
- e && e.preventDefault()
- e && e.stopPropagation()
+ e && e.preventDefault()
+ $element.removeClass('in')
- $element.removeClass('in')
-
- function removeElement () {
- $element.remove()
- }
-
- $.support.transition && $element.hasClass('fade') ?
- $element.bind(transitionEnd, removeElement) :
- removeElement()
+ function removeElement () {
+ $element.remove()
}
+ $.support.transition && $element.hasClass('fade') ?
+ $element.bind($.support.transition.end, removeElement) :
+ removeElement()
}
/* ALERT PLUGIN DEFINITION
* ======================= */
- $.fn.alert = function ( options ) {
-
- if ( options === true ) {
- return this.data('alert')
- }
-
- return this.each(function () {
- var $this = $(this)
-
- if ( typeof options == 'string' ) {
- return $this.data('alert')[options]()
- }
-
- $(this).data('alert', new Alert( this ))
-
- })
- }
-
- $(document).ready(function () {
- new Alert($('body'))
+ $(function () {
+ $('body').delegate('[data-alert-dismiss]', 'click', close)
})
})( window.jQuery || window.ender ) \ No newline at end of file
diff --git a/js/bootstrap-dropdown.js b/js/bootstrap-dropdown.js
index 6379653c5..d12fe48cb 100644
--- a/js/bootstrap-dropdown.js
+++ b/js/bootstrap-dropdown.js
@@ -1,5 +1,5 @@
/* ============================================================
- * bootstrap-dropdown.js v1.3.0
+ * bootstrap-dropdown.js v2.0.0
* http://twitter.github.com/bootstrap/javascript.html#dropdown
* ============================================================
* Copyright 2011 Twitter, Inc.
@@ -20,34 +20,23 @@
(function( $ ){
- var d = '[data-dropdown]'
-
- /* DROPDOWN PLUGIN DEFINITION
- * ========================== */
-
- $.fn.dropdown = function () {
- return this.each(function () {
- $(this).delegate(d, 'click', function (e) {
- var li = $(this).parent('li')
- , isActive = li.hasClass('open')
-
- clearMenus()
- !isActive && li.toggleClass('open')
- return false
- })
- })
- }
-
/* APPLY TO STANDARD DROPDOWN ELEMENTS
* =================================== */
+ var selector = '[data-dropdown]'
function clearMenus() {
- $(d).parent('li').removeClass('open')
+ $(selector).parent('li').removeClass('open')
}
$(function () {
$('html').bind("click", clearMenus)
- $('body').dropdown()
+ $('body').delegate(selector, 'click', function (e) {
+ var li = $(this).parent('li')
+ , isActive = li.hasClass('open')
+ clearMenus()
+ !isActive && li.toggleClass('open')
+ return false
+ })
})
})( window.jQuery || window.ender ) \ No newline at end of file
diff --git a/js/bootstrap-modal.js b/js/bootstrap-modal.js
index 60b83d58f..984b091d6 100644
--- a/js/bootstrap-modal.js
+++ b/js/bootstrap-modal.js
@@ -1,5 +1,5 @@
/* =========================================================
- * bootstrap-modal.js v1.3.0
+ * bootstrap-modal.js v2.0.0
* http://twitter.github.com/bootstrap/javascript.html#modal
* =========================================================
* Copyright 2011 Twitter, Inc.
@@ -20,35 +20,6 @@
!function( $ ){
- /* CSS TRANSITION SUPPORT (https://gist.github.com/373874)
- * ======================================================= */
-
- var transitionEnd
-
- $(document).ready(function () {
-
- $.support.transition = (function () {
- var thisBody = document.body || document.documentElement
- , thisStyle = thisBody.style
- , support = thisStyle.transition !== undefined || thisStyle.WebkitTransition !== undefined || thisStyle.MozTransition !== undefined || thisStyle.MsTransition !== undefined || thisStyle.OTransition !== undefined
- return support
- })()
-
- // set CSS transition event type
- if ( $.support.transition ) {
- transitionEnd = "TransitionEnd"
- if ( $.browser.webkit ) {
- transitionEnd = "webkitTransitionEnd"
- } else if ( $.browser.mozilla ) {
- transitionEnd = "transitionend"
- } else if ( $.browser.opera ) {
- transitionEnd = "oTransitionEnd"
- }
- }
-
- })
-
-
/* MODAL PUBLIC CLASS DEFINITION
* ============================= */
@@ -76,25 +47,7 @@
this.$element.trigger('show')
escape.call(this)
- backdrop.call(this, function () {
- var transition = $.support.transition && that.$element.hasClass('fade')
-
- that.$element
- .appendTo(document.body)
- .show()
-
- if (transition) {
- that.$element[0].offsetWidth // force reflow
- }
-
- that.$element
- .addClass('in')
-
- transition ?
- that.$element.one(transitionEnd, function () { that.$element.trigger('shown') }) :
- that.$element.trigger('shown')
-
- })
+ backdrop.call(this)
return this
}
@@ -124,7 +77,7 @@
}
$.support.transition && this.$element.hasClass('fade') ?
- this.$element.one(transitionEnd, removeElement) :
+ this.$element.one($.support.transition.end, removeElement) :
removeElement()
return this
@@ -136,9 +89,11 @@
/* MODAL PRIVATE METHODS
* ===================== */
- function backdrop ( callback ) {
+ function backdrop () {
var that = this
, animate = this.$element.hasClass('fade') ? 'fade' : ''
+ , callback = $.proxy(show, this)
+
if ( this.isShown && this.settings.backdrop ) {
var doAnimate = $.support.transition && animate
@@ -156,7 +111,7 @@
this.$backdrop.addClass('in')
doAnimate ?
- this.$backdrop.one(transitionEnd, callback) :
+ this.$backdrop.one($.support.transition.end, callback) :
callback()
} else if ( !this.isShown && this.$backdrop ) {
@@ -168,13 +123,33 @@
}
$.support.transition && this.$element.hasClass('fade')?
- this.$backdrop.one(transitionEnd, removeElement) :
+ this.$backdrop.one($.support.transition.end, removeElement) :
removeElement()
} else if ( callback ) {
callback()
}
}
+ function show() {
+ var transition = $.support.transition && that.$element.hasClass('fade')
+ , that = this
+
+ this.$element
+ .appendTo(document.body)
+ .show()
+
+ if (transition) {
+ this.$element[0].offsetWidth // force reflow
+ }
+
+ this.$element
+ .addClass('in')
+
+ transition ?
+ this.$element.one($.support.transition.end, function () { that.$element.trigger('shown') }) :
+ this.$element.trigger('shown')
+ }
+
function escape() {
var that = this
if ( this.isShown && this.settings.keyboard ) {
@@ -233,7 +208,7 @@
/* MODAL DATA-IMPLEMENTATION
* ========================= */
- $(document).ready(function () {
+ $(function () {
$('body').delegate('[data-controls-modal]', 'click', function (e) {
e.preventDefault()
var $this = $(this).data('show', true)
diff --git a/js/bootstrap-popover.js b/js/bootstrap-popover.js
index 1cf4b8917..3fdde19b5 100644
--- a/js/bootstrap-popover.js
+++ b/js/bootstrap-popover.js
@@ -1,5 +1,5 @@
/* ===========================================================
- * bootstrap-popover.js v1.3.0
+ * bootstrap-popover.js v2.0.0
* http://twitter.github.com/bootstrap/javascript.html#popover
* ===========================================================
* Copyright 2011 Twitter, Inc.
@@ -62,7 +62,6 @@
})
-
/* POPOVER PLUGIN DEFINITION
* ======================= */
diff --git a/js/bootstrap-scrollspy.js b/js/bootstrap-scrollspy.js
index 4b146e580..1269d91ec 100644
--- a/js/bootstrap-scrollspy.js
+++ b/js/bootstrap-scrollspy.js
@@ -1,5 +1,5 @@
/* =============================================================
- * bootstrap-scrollspy.js v1.3.0
+ * bootstrap-scrollspy.js v2.0.0
* http://twitter.github.com/bootstrap/javascript.html#scrollspy
* =============================================================
* Copyright 2011 Twitter, Inc.
@@ -22,14 +22,14 @@
var $window = $(window)
- function ScrollSpy( topbar, selector ) {
- var processScroll = $.proxy(this.processScroll, this)
- this.$topbar = $(topbar)
- this.selector = selector || 'li > a'
+ function ScrollSpy() {
+ var process = $.proxy(this.process, this)
+ this.$topbar = $('body')
+ this.selector = '[data-scrollspy] li > a'
this.refresh()
- this.$topbar.delegate(this.selector, 'click', processScroll)
- $window.scroll(processScroll)
- this.processScroll()
+ this.$topbar.delegate(this.selector, 'click', process)
+ $window.scroll(process)
+ this.process()
}
ScrollSpy.prototype = {
@@ -45,7 +45,7 @@
})
}
- , processScroll: function () {
+ , process: function () {
var scrollTop = $window.scrollTop() + 10
, offsets = this.offsets
, targets = this.targets
@@ -56,50 +56,34 @@
activeTarget != targets[i]
&& scrollTop >= offsets[i]
&& (!offsets[i + 1] || scrollTop <= offsets[i + 1])
- && this.activateButton( targets[i] )
+ && this.activate( targets[i] )
}
}
- , activateButton: function (target) {
+ , activate: function (target) {
+ var active
+
this.activeTarget = target
this.$topbar
.find(this.selector).parent('.active')
.removeClass('active')
- this.$topbar
+ active = this.$topbar
.find(this.selector + '[href="' + target + '"]')
.parent('li')
.addClass('active')
- }
-
- }
- /* SCROLLSPY PLUGIN DEFINITION
- * =========================== */
-
- $.fn.scrollSpy = function( options ) {
- var scrollspy = this.data('scrollspy')
-
- if (!scrollspy) {
- return this.each(function () {
- $(this).data('scrollspy', new ScrollSpy( this, options ))
- })
- }
-
- if ( options === true ) {
- return scrollspy
- }
+ if ( active.parent('.dropdown-menu') ) {
+ active.closest('li.dropdown').addClass('active')
+ }
- if ( typeof options == 'string' ) {
- scrollspy[options]()
- }
+ }
- return this
}
- $(document).ready(function () {
- $('body').scrollSpy('[data-scrollspy] li > a')
+ $(function () {
+ new ScrollSpy()
})
}( window.jQuery || window.ender ) \ No newline at end of file
diff --git a/js/bootstrap-tabs.js b/js/bootstrap-tabs.js
index b94adfc25..86bd4784f 100644
--- a/js/bootstrap-tabs.js
+++ b/js/bootstrap-tabs.js
@@ -1,5 +1,5 @@
/* ========================================================
- * bootstrap-tabs.js v1.3.0
+ * bootstrap-tabs.js v2.0.0
* http://twitter.github.com/bootstrap/javascript.html#tabs
* ========================================================
* Copyright 2011 Twitter, Inc.
@@ -21,24 +21,33 @@
!function( $ ){
function activate ( element, container ) {
- container.find('> .active').removeClass('active')
+ container
+ .find('> .active')
+ .removeClass('active')
+ .find('> .dropdown-menu > .active')
+ .removeClass('active')
+
element.addClass('active')
+
+ if ( element.parent('.dropdown-menu') ) {
+ element.closest('li.dropdown').addClass('active')
+ }
}
function tab( e ) {
var $this = $(this)
- , $ul = $this.closest('ul')
+ , $ul = $this.closest('ul:not(.dropdown-menu)')
, href = $this.attr('href')
, previous
- if (/^#\w+/.test(href)) {
+ if ( /^#\w+/.test(href) ) {
e.preventDefault()
- if ($this.parent('li').hasClass('active')) {
+ if ( $this.parent('li').hasClass('active') ) {
return
}
- previous = $ul.find('.active a')[0]
+ previous = $ul.find('.active a').last()[0]
$href = $(href)
activate($this.parent('li'), $ul)
@@ -55,14 +64,8 @@
/* TABS/PILLS PLUGIN DEFINITION
* ============================ */
- $.fn.tabs = $.fn.pills = function ( selector ) {
- return this.each(function () {
- $(this).delegate(selector || '.tabs li > a, .pills > li > a', 'click', tab)
- })
- }
-
- $(document).ready(function () {
- $('body').tabs('ul[data-tabs] li > a, ul[data-pills] > li > a')
+ $(function () {
+ $('body').delegate('ul[data-tabs] > li > a, ul[data-pills] > li > a', 'click', tab)
})
}( window.jQuery || window.ender ); \ No newline at end of file
diff --git a/js/bootstrap-transitions.js b/js/bootstrap-transitions.js
new file mode 100644
index 000000000..49b5338a8
--- /dev/null
+++ b/js/bootstrap-transitions.js
@@ -0,0 +1,45 @@
+/* ===================================================
+ * bootstrap-transitions.js v2.0.0
+ * http://twitter.github.com/bootstrap/javascript.html
+ * ===================================================
+ * Copyright 2011 Twitter, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ========================================================== */
+
+$(function () {
+
+ /* CSS TRANSITION SUPPORT (https://gist.github.com/373874)
+ * ======================================================= */
+
+ $.support.transition = (function () {
+ var thisBody = document.body || document.documentElement
+ , thisStyle = thisBody.style
+ , support = thisStyle.transition !== undefined || thisStyle.WebkitTransition !== undefined || thisStyle.MozTransition !== undefined || thisStyle.MsTransition !== undefined || thisStyle.OTransition !== undefined
+
+ return support && {
+ end: (function () {
+ var transitionEnd = "TransitionEnd"
+ if ( $.browser.webkit ) {
+ transitionEnd = "webkitTransitionEnd"
+ } else if ( $.browser.mozilla ) {
+ transitionEnd = "transitionend"
+ } else if ( $.browser.opera ) {
+ transitionEnd = "oTransitionEnd"
+ }
+ return transitionEnd
+ })()
+ }
+ })()
+
+}) \ No newline at end of file
diff --git a/js/bootstrap-twipsy.js b/js/bootstrap-twipsy.js
index 0144c4815..7c195fbc7 100644
--- a/js/bootstrap-twipsy.js
+++ b/js/bootstrap-twipsy.js
@@ -1,5 +1,5 @@
/* ==========================================================
- * bootstrap-twipsy.js v1.3.0
+ * bootstrap-twipsy.js v2.0.0
* http://twitter.github.com/bootstrap/javascript.html#twipsy
* Adapted from the original jQuery.tipsy by Jason Frame
* ==========================================================
@@ -21,35 +21,6 @@
!function( $ ) {
- /* CSS TRANSITION SUPPORT (https://gist.github.com/373874)
- * ======================================================= */
-
- var transitionEnd
-
- $(document).ready(function () {
-
- $.support.transition = (function () {
- var thisBody = document.body || document.documentElement
- , thisStyle = thisBody.style
- , support = thisStyle.transition !== undefined || thisStyle.WebkitTransition !== undefined || thisStyle.MozTransition !== undefined || thisStyle.MsTransition !== undefined || thisStyle.OTransition !== undefined
- return support
- })()
-
- // set CSS transition event type
- if ( $.support.transition ) {
- transitionEnd = "TransitionEnd"
- if ( $.browser.webkit ) {
- transitionEnd = "webkitTransitionEnd"
- } else if ( $.browser.mozilla ) {
- transitionEnd = "transitionend"
- } else if ( $.browser.opera ) {
- transitionEnd = "oTransitionEnd"
- }
- }
-
- })
-
-
/* TWIPSY PUBLIC CLASS DEFINITION
* ============================== */
@@ -131,7 +102,7 @@
}
$.support.transition && this.$tip.hasClass('fade') ?
- $tip.bind(transitionEnd, removeElement) :
+ $tip.bind($.support.transition.end, removeElement) :
removeElement()
}
diff --git a/js/tests/index.html b/js/tests/index.html
index 2ca94102a..617fcd92a 100644
--- a/js/tests/index.html
+++ b/js/tests/index.html
@@ -11,6 +11,7 @@
<script src="vendor/qunit.js"></script>
<!-- plugin sources -->
+ <script src="../../js/bootstrap-transitions.js"></script>
<script src="../../js/bootstrap-alerts.js"></script>
<script src="../../js/bootstrap-dropdown.js"></script>
<script src="../../js/bootstrap-modal.js"></script>