1 | /* ========================================================================
|
---|
2 | * Bootstrap: transition.js v3.4.1
|
---|
3 | * https://getbootstrap.com/docs/3.4/javascript/#transitions
|
---|
4 | * ========================================================================
|
---|
5 | * Copyright 2011-2019 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: https://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 | // https://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);
|
---|