sass-site/source/assets/js/vendor/bootstrap/transition.js

60 lines
1.8 KiB
JavaScript
Raw Normal View History

2013-10-09 12:30:53 +02:00
/* ========================================================================
2014-07-28 00:44:34 +02:00
* Bootstrap: transition.js v3.2.0
* http://getbootstrap.com/javascript/#transitions
2013-10-09 12:30:53 +02:00
* ========================================================================
2014-07-28 00:44:34 +02:00
* Copyright 2011-2014 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
2013-10-09 12:30:53 +02:00
* ======================================================================== */
2014-07-28 00:44:34 +02:00
+function ($) {
'use strict';
2013-10-09 12:30:53 +02:00
// CSS TRANSITION SUPPORT (Shoutout: http://www.modernizr.com/)
// ============================================================
function transitionEnd() {
var el = document.createElement('bootstrap')
var transEndEventNames = {
2014-07-28 00:44:34 +02:00
WebkitTransition : 'webkitTransitionEnd',
MozTransition : 'transitionend',
OTransition : 'oTransitionEnd otransitionend',
transition : 'transitionend'
2013-10-09 12:30:53 +02:00
}
for (var name in transEndEventNames) {
if (el.style[name] !== undefined) {
return { end: transEndEventNames[name] }
}
}
2014-07-28 00:44:34 +02:00
return false // explicit for ie8 ( ._.)
2013-10-09 12:30:53 +02:00
}
// http://blog.alexmaccaw.com/css-transitions
$.fn.emulateTransitionEnd = function (duration) {
2014-07-28 00:44:34 +02:00
var called = false
var $el = this
$(this).one('bsTransitionEnd', function () { called = true })
2013-10-09 12:30:53 +02:00
var callback = function () { if (!called) $($el).trigger($.support.transition.end) }
setTimeout(callback, duration)
return this
}
$(function () {
$.support.transition = transitionEnd()
2014-07-28 00:44:34 +02:00
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)
}
}
2013-10-09 12:30:53 +02:00
})
2014-07-28 00:44:34 +02:00
}(jQuery);