| /* ======================================================================== |
| * Bootstrap: transition.js v3.3.6 |
| * http://getbootstrap.com/javascript/#transitions |
| * ======================================================================== |
| * Copyright 2011-2015 Twitter, Inc. |
| * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) |
| * ======================================================================== */ |
| |
| |
| +function ($) { |
| 'use strict'; |
| |
| // CSS TRANSITION SUPPORT (Shoutout: http://www.modernizr.com/) |
| // ============================================================ |
| |
| function transitionEnd() { |
| var el = document.createElement('bootstrap') |
| |
| var transEndEventNames = { |
| WebkitTransition : 'webkitTransitionEnd', |
| MozTransition : 'transitionend', |
| OTransition : 'oTransitionEnd otransitionend', |
| transition : 'transitionend' |
| } |
| |
| for (var name in transEndEventNames) { |
| if (el.style[name] !== undefined) { |
| return { end: transEndEventNames[name] } |
| } |
| } |
| |
| return false // explicit for ie8 ( ._.) |
| } |
| |
| // http://blog.alexmaccaw.com/css-transitions |
| $.fn.emulateTransitionEnd = function (duration) { |
| var called = false |
| var $el = this |
| $(this).one('bsTransitionEnd', function () { called = true }) |
| var callback = function () { if (!called) $($el).trigger($.support.transition.end) } |
| setTimeout(callback, duration) |
| return this |
| } |
| |
| $(function () { |
| $.support.transition = transitionEnd() |
| |
| if (!$.support.transition) return |
| |
| $.event.special.bsTransitionEnd = { |
| bindType: $.support.transition.end, |
| delegateType: $.support.transition.end, |
| handle: function (e) { |
| if ($(e.target).is(this)) return e.handleObj.handler.apply(this, arguments) |
| } |
| } |
| }) |
| |
| }(jQuery); |