12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- import jQuery from 'jquery';
- +(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));
|