| 1 |
/* ======================================================================== |
| 2 |
* Bootstrap: transition.js v3.3.2 |
| 3 |
* http://getbootstrap.com/javascript/#transitions |
| 4 |
* ======================================================================== |
| 5 |
* Copyright 2011-2015 Twitter, Inc. |
| 6 |
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) |
| 7 |
* ======================================================================== */ |
| 8 |
|
| 9 |
|
| 10 |
+function ($) { |
| 11 |
'use strict'; |
| 12 |
|
| 13 |
// CSS TRANSITION SUPPORT (Shoutout: http://www.modernizr.com/) |
| 14 |
// ============================================================ |
| 15 |
|
| 16 |
function transitionEnd() { |
| 17 |
var el = document.createElement('bootstrap') |
| 18 |
|
| 19 |
var transEndEventNames = { |
| 20 |
WebkitTransition : 'webkitTransitionEnd', |
| 21 |
MozTransition : 'transitionend', |
| 22 |
OTransition : 'oTransitionEnd otransitionend', |
| 23 |
transition : 'transitionend' |
| 24 |
} |
| 25 |
|
| 26 |
for (var name in transEndEventNames) { |
| 27 |
if (el.style[name] !== undefined) { |
| 28 |
return { end: transEndEventNames[name] } |
| 29 |
} |
| 30 |
} |
| 31 |
|
| 32 |
return false // explicit for ie8 ( ._.) |
| 33 |
} |
| 34 |
|
| 35 |
// http://blog.alexmaccaw.com/css-transitions |
| 36 |
$.fn.emulateTransitionEnd = function (duration) { |
| 37 |
var called = false |
| 38 |
var $el = this |
| 39 |
$(this).one('bsTransitionEnd', function () { called = true }) |
| 40 |
var callback = function () { if (!called) $($el).trigger($.support.transition.end) } |
| 41 |
setTimeout(callback, duration) |
| 42 |
return this |
| 43 |
} |
| 44 |
|
| 45 |
$(function () { |
| 46 |
$.support.transition = transitionEnd() |
| 47 |
|
| 48 |
if (!$.support.transition) return |
| 49 |
|
| 50 |
$.event.special.bsTransitionEnd = { |
| 51 |
bindType: $.support.transition.end, |
| 52 |
delegateType: $.support.transition.end, |
| 53 |
handle: function (e) { |
| 54 |
if ($(e.target).is(this)) return e.handleObj.handler.apply(this, arguments) |
| 55 |
} |
| 56 |
} |
| 57 |
}) |
| 58 |
|
| 59 |
}(jQuery); |