Skip to content
GitLab
Explore
Projects
Groups
Snippets
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Bootstrap
bootstrap
Commits
f1009c19
Commit
f1009c19
authored
11 years ago
by
Jacob Thornton
Browse files
Options
Download
Email Patches
Plain Diff
revert collapse change + add emulateTransitionEvent to catch dead css transitions
parent
43e5e90a
main
cleanup-floating-forms
cssvar-function
dependabot/npm_and_yarn/stylelint-and-stylelint-config-twbs-bootstrap-15.3.0
extend-snippets
feat/data-target
floating-always-visible
floating-labels-icons
fod-main-banner
form-controls-with-icons
gh-pages
gh-pages-530-alpha2
github/fork/719media/patch-13
github/fork/719media/patch-14
github/fork/719media/patch-9
github/fork/ChellyAhmed/fix-typo-reboot.md
github/fork/ChellyAhmed/offcanvas-scroll-back
github/fork/CtrlAltLilith/main
github/fork/Elysiome/offcanvas-optional-window-resizing
github/fork/JanSargsyan/main
github/fork/LunicLynx/support-different-line-height-for-buttons
github/fork/Psixodelik/main
github/fork/Ronid1/ronid1/offcanvas_static_backdrop
github/fork/RyanBerliner/tooltip-accessibility
github/fork/SantiagoPVazquez/Feature-default-border-bottom-to-dropdown-item
github/fork/Sir-Genius/utils
github/fork/Sumit-Singh-8/main
github/fork/Viktor-VERA2020/offcanvas-slide
github/fork/Zivangu9/input-group-for-form-control-plaintext
github/fork/alpadev/alpadev/call-dispose-on-component-reinstantiation
github/fork/astagi/fix/tree-shake-modules
github/fork/compnerd/dark-accordion-icon
github/fork/derSascha/dropdown-dont-close-on-input-click
github/fork/dev-ph1l/main
github/fork/donquixote/issue-33861-utl-mixin
github/fork/florianlacreuse/mixin-make-row-gutter-y
github/fork/gregorw/main
github/fork/iteggmbh/transitionend-dispose-race
github/fork/jdelStrother/patch-1
github/fork/jonnysp/form-floating
github/fork/jonnysp/independent-offcanvas
github/fork/jonnysp/theme-dark-on-card-and-modal-fix
github/fork/josefdlange/floating-label-placeholder-opacity
github/fork/julien-deramond/enhance-change-version.js
github/fork/julien-deramond/main-jd-fix-offset-content
github/fork/julien-deramond/main-jd-issue-with-utitlies
github/fork/julien-deramond/main-xmr-pa11y-ci-jd-add-hideElements
github/fork/kyletsang/fix-tooltip-padding
github/fork/lacutah/CheckboxCenteringDocumentation
github/fork/lekoala/patch-3
github/fork/louismaximepiton/main-kld-lmp-collapse-proposal
github/fork/louismaximepiton/main-lmp-card-inner-border-radius-fix
github/fork/louismaximepiton/main-lmp-carousel-multiple-images
github/fork/louismaximepiton/main-lmp-css-var-init
github/fork/louismaximepiton/main-lmp-disabled-floating-label-fix
github/fork/louismaximepiton/main-lmp-input-range-fix
github/fork/louismaximepiton/main-lmp-shift-color
github/fork/louismaximepiton/main-lmp-table-active-tr-fix
github/fork/maciek-szn/switch
github/fork/michael-roth/feature/19964-multiple-tab-targets
github/fork/mistic100/dom-utils
github/fork/nkdas91/accordion
github/fork/nstungcom/fix-missing-modal-open-class
github/fork/oraliahdz/animation-utilities
github/fork/pine3ree/patch-7
github/fork/pouwerkerk/unindent-scss-docs-shortcode
github/fork/smares/smares-no-scolling-on-modal-close
github/fork/tgm-git/patch-1
gs-forms
gs-toasts-with-animated-progress-bar
gs/add-history-helper
gs/change-version-dir-on-docs
gs/data-must-set-onlu-one-instance
gs/docs/fix-drop-down-error
gs/event-handler-2
gs/make-docs-js-build
gs/make-simple-attribute-toggler
gs/popover-fix-doc
gs/provide-steConfig-method
gs/scrollspy-smoothscroll-option-use-browser-history
gs/streamline-jqueryInterface
gs/support-drop-down-in-navbar
gs/test-js-generic-trigger
gs/try-web-components
gs/tweak-collapse-js-selector
gs/use-event-handler-in-cocmponent
gs/use-rollup-replace-for-version
jo-docs-thanks-page
jo-ssr-friendly
logical-props-spacing-utils
main-fod-disabled-form-check-label
main-fod-nested-accordion
main-fod-simpler-table-structure
main-fod-table-separator
main-fod-utilities-contrast
main-jd-abbr-title
main-jd-add-chips
main-jd-add-doc-for-sass-custom-colors
main-jd-add-enable-host-to-handle-web-components
main-jd-browserstack-fine-tune
main-jd-browserstack-updates
main-jd-docs-consistent-usage-of-css-sections-step-2
main-jd-fix-docs-headers-in-white
main-jd-fix-highlight-docs-border-radius
main-jd-fix-placeholder-color-background-params-for-img-markup
main-jd-glossary-experiment
main-jd-postcss-drop-empty-css-vars
main-jd-proto-doc-astro
main-jd-skip-navigation-component
main-jd-stackblitz-for-examples
main-jd-upgrade-browserlistrc
main-jd-use-host
main-lmp-dark-theme-customization
main-lmp-handle-scroll-target
main-lmp-tab-fix
main-mc-opensearch
main-xmr-bundlewatch-action
main-xmr-eslint-plugin-compat
main-xmr-hugo-docs-vendor
main-xmr-hugo-rm-ver
main-xmr-linkinator-prod
main-xmr-min-mangle
main-xmr-pa11y-ci
more-darkmode-examples
nested-dropdowns
patrickhlauke-issue37428
patrickhlauke-use-of-color-tweaks
pr/34102
pr/37590
previous-next-docs-links
sticky-thead
utilities-functions-mixin
v3-dev
v4-dev
v4-dev-dropdown-hide-method
v530-dev
v6-postcss-custom-media
v6-spinner-dots
v6/gs/use-floating-ui-in-place-of-popper
xmr/dev
xmr/docs-png
xmr/docs-svgs
xmr/hugo-reorg-files
xmr/js-2
xmr/markdownlint
xmr/prepare-530-alpha2
xmr/xo
v5.3.0-alpha1
v5.2.3
v5.2.2
v5.2.1
v5.2.0
v5.2.0-beta1
v5.1.3
v5.1.2
v5.1.1
v5.1.0
v5.0.2
v5.0.1
v5.0.0
v5.0.0-beta3
v5.0.0-beta2
v5.0.0-beta1
v5.0.0-alpha3
v5.0.0-alpha2
v5.0.0-alpha1
v4.6.2
v4.6.1
v4.6.0
v4.5.3
v4.5.2
v4.5.1
v4.5.0
v4.4.1
v4.4.0
v4.3.1
v4.3.0
v4.2.1
v4.2.0
v4.1.3
v4.1.2
v4.1.1
v4.1.0
v4.0.0
v4.0.0-beta.3
v4.0.0-beta.2
v4.0.0-beta
v4.0.0-alpha.6
v4.0.0-alpha.5
v4.0.0-alpha.4
v4.0.0-alpha.3
v4.0.0-alpha.2
v4.0.0-alpha
v3.4.1
v3.4.0
v3.3.7
v3.3.6
v3.3.5
v3.3.4
v3.3.2
v3.3.1
v3.3.0
v3.2.0
v3.1.1
v3.1.0
v3.0.3
v3.0.2
v3.0.1
v3.0.0
v3.0.0-rc.2
v3.0.0-rc1
2 merge requests
!8635
ignore Gruntfile.js in jekyll
,
!8656
Added rel="stylesheet" to CDN-Examples
Changes
10
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
dist/js/bootstrap.js
+46
-43
dist/js/bootstrap.js
dist/js/bootstrap.min.js
+1
-1
dist/js/bootstrap.min.js
js/alert.js
+3
-1
js/alert.js
js/carousel.js
+8
-6
js/carousel.js
js/collapse.js
+4
-2
js/collapse.js
js/dropdown.js
+1
-2
js/dropdown.js
js/modal.js
+14
-17
js/modal.js
js/tab.js
+3
-1
js/tab.js
js/tooltip.js
+3
-12
js/tooltip.js
js/transition.js
+8
-0
js/transition.js
with
91 additions
and
85 deletions
+91
-85
dist/js/bootstrap.js
+
46
-
43
View file @
f1009c19
...
...
@@ -40,6 +40,14 @@
}
}
// http://blog.alexmaccaw.com/css-transitions
$
.
fn
.
emulateTransitionEnd
=
function
(
duration
)
{
var
called
=
false
,
$el
=
this
$
(
this
).
one
(
'
webkitTransitionEnd
'
,
function
()
{
called
=
true
})
var
callback
=
function
()
{
if
(
!
called
)
$
(
$el
).
trigger
(
'
webkitTransitionEnd
'
)
}
setTimeout
(
callback
,
duration
)
}
$
(
function
()
{
$
.
support
.
transition
=
transitionEnd
()
})
...
...
@@ -103,7 +111,9 @@
}
$
.
support
.
transition
&&
$parent
.
hasClass
(
'
fade
'
)
?
$parent
.
on
(
$
.
support
.
transition
.
end
,
removeElement
)
:
$parent
.
one
(
$
.
support
.
transition
.
end
,
removeElement
)
.
emulateTransitionEnd
(
150
)
:
removeElement
()
}
...
...
@@ -380,12 +390,14 @@
$next
[
0
].
offsetWidth
// force reflow
$active
.
addClass
(
direction
)
$next
.
addClass
(
direction
)
this
.
$element
.
find
(
'
.item
'
).
one
(
$
.
support
.
transition
.
end
,
function
()
{
$next
.
removeClass
([
type
,
direction
].
join
(
'
'
)).
addClass
(
'
active
'
)
$active
.
removeClass
([
'
active
'
,
direction
].
join
(
'
'
))
that
.
sliding
=
false
setTimeout
(
function
()
{
that
.
$element
.
trigger
(
'
slid
'
)
},
0
)
})
this
.
$element
.
find
(
'
.item
'
)
.
one
(
$
.
support
.
transition
.
end
,
function
()
{
$next
.
removeClass
([
type
,
direction
].
join
(
'
'
)).
addClass
(
'
active
'
)
$active
.
removeClass
([
'
active
'
,
direction
].
join
(
'
'
))
that
.
sliding
=
false
setTimeout
(
function
()
{
that
.
$element
.
trigger
(
'
slid
'
)
},
0
)
})
.
emulateTransitionEnd
(
600
)
}
else
{
this
.
$element
.
trigger
(
e
)
if
(
e
.
isDefaultPrevented
())
return
...
...
@@ -511,7 +523,7 @@
var
dimension
=
this
.
dimension
()
var
scroll
=
$
.
camelCase
([
'
scroll
'
,
dimension
].
join
(
'
-
'
))
var
actives
=
this
.
$parent
&&
this
.
$parent
.
find
(
'
.collapse
.in
'
)
var
actives
=
this
.
$parent
&&
this
.
$parent
.
find
(
'
> .accordion-group >
.in
'
)
if
(
actives
&&
actives
.
length
)
{
var
hasData
=
actives
.
data
(
'
bs.collapse
'
)
...
...
@@ -565,7 +577,9 @@
this
.
$element
[
method
](
'
in
'
)
$
.
support
.
transition
&&
this
.
$element
.
hasClass
(
'
collapse
'
)
?
this
.
$element
.
one
(
$
.
support
.
transition
.
end
,
complete
)
:
this
.
$element
.
one
(
$
.
support
.
transition
.
end
,
complete
)
.
emulateTransitionEnd
(
350
)
:
complete
()
}
...
...
@@ -719,7 +733,7 @@
function
clearMenus
()
{
$
(
backdrop
).
remove
()
$
(
toggle
).
each
(
function
(
e
)
{
$
(
toggle
).
each
(
function
(
e
)
{
var
$parent
=
getParent
(
$
(
this
))
if
(
!
$parent
.
hasClass
(
'
open
'
))
return
$parent
.
trigger
(
e
=
$
.
Event
(
'
hide.bs.dropdown
'
))
...
...
@@ -772,7 +786,6 @@
// APPLY TO STANDARD DROPDOWN ELEMENTS
// ===================================
$
(
document
)
.
on
(
'
click.bs.dropdown.data-api
'
,
clearMenus
)
.
on
(
'
click.bs.dropdown.data-api
'
,
'
.dropdown form
'
,
function
(
e
)
{
e
.
stopPropagation
()
})
...
...
@@ -856,7 +869,11 @@
that
.
enforceFocus
()
transition
?
that
.
$element
.
one
(
$
.
support
.
transition
.
end
,
function
()
{
that
.
$element
.
focus
().
trigger
(
'
shown.bs.modal
'
)
})
:
that
.
$element
.
one
(
$
.
support
.
transition
.
end
,
function
()
{
that
.
$element
.
focus
().
trigger
(
'
shown.bs.modal
'
)
})
.
emulateTransitionEnd
(
300
)
:
that
.
$element
.
focus
().
trigger
(
'
shown.bs.modal
'
)
})
}
...
...
@@ -881,7 +898,9 @@
.
attr
(
'
aria-hidden
'
,
true
)
$
.
support
.
transition
&&
this
.
$element
.
hasClass
(
'
fade
'
)
?
this
.
hideWithTransition
()
:
this
.
$element
.
one
(
$
.
support
.
transition
.
end
,
$
.
proxy
(
this
.
hideModal
,
this
))
.
emulateTransitionEnd
(
300
)
:
this
.
hideModal
()
}
...
...
@@ -905,19 +924,6 @@
}
}
Modal
.
prototype
.
hideWithTransition
=
function
()
{
var
that
=
this
var
timeout
=
setTimeout
(
function
()
{
that
.
$element
.
off
(
$
.
support
.
transition
.
end
)
that
.
hideModal
()
},
500
)
this
.
$element
.
one
(
$
.
support
.
transition
.
end
,
function
()
{
clearTimeout
(
timeout
)
that
.
hideModal
()
})
}
Modal
.
prototype
.
hideModal
=
function
()
{
var
that
=
this
this
.
$element
.
hide
()
...
...
@@ -956,14 +962,18 @@
if
(
!
callback
)
return
doAnimate
?
this
.
$backdrop
.
one
(
$
.
support
.
transition
.
end
,
callback
)
:
this
.
$backdrop
.
one
(
$
.
support
.
transition
.
end
,
callback
)
.
emulateTransitionEnd
(
150
)
:
callback
()
}
else
if
(
!
this
.
isShown
&&
this
.
$backdrop
)
{
this
.
$backdrop
.
removeClass
(
'
in
'
)
$
.
support
.
transition
&&
this
.
$element
.
hasClass
(
'
fade
'
)?
this
.
$backdrop
.
one
(
$
.
support
.
transition
.
end
,
callback
)
:
this
.
$backdrop
.
one
(
$
.
support
.
transition
.
end
,
callback
)
.
emulateTransitionEnd
(
150
)
:
callback
()
}
else
if
(
callback
)
{
...
...
@@ -1020,8 +1030,8 @@
})
var
$body
=
$
(
document
.
body
)
.
on
(
'
bs.modal
.shown
'
,
'
.modal
'
,
function
()
{
$body
.
addClass
(
'
modal-open
'
)
})
.
on
(
'
bs.modal
.hidden
'
,
'
.modal
'
,
function
()
{
$body
.
removeClass
(
'
modal-open
'
)
})
.
on
(
'
shown.
bs.modal
'
,
'
.modal
'
,
function
()
{
$body
.
addClass
(
'
modal-open
'
)
})
.
on
(
'
hidden.
bs.modal
'
,
'
.modal
'
,
function
()
{
$body
.
removeClass
(
'
modal-open
'
)
})
}(
window
.
jQuery
);
/* ========================================================================
...
...
@@ -1264,19 +1274,10 @@
$tip
.
removeClass
(
'
in
'
)
function
removeWithAnimation
()
{
var
timeout
=
setTimeout
(
function
()
{
$tip
.
off
(
$
.
support
.
transition
.
end
).
detach
()
},
500
)
$tip
.
one
(
$
.
support
.
transition
.
end
,
function
()
{
clearTimeout
(
timeout
)
$tip
.
detach
()
})
}
$
.
support
.
transition
&&
this
.
$tip
.
hasClass
(
'
fade
'
)
?
removeWithAnimation
()
:
$tip
.
one
(
$
.
support
.
transition
.
end
,
$tip
.
detach
)
.
emulateTransitionEnd
(
150
)
:
$tip
.
detach
()
this
.
$element
.
trigger
(
'
hidden.bs.
'
+
this
.
type
)
...
...
@@ -1739,7 +1740,9 @@
}
transition
?
$active
.
one
(
$
.
support
.
transition
.
end
,
next
)
:
$active
.
one
(
$
.
support
.
transition
.
end
,
next
)
.
emulateTransitionEnd
(
150
)
:
next
()
$active
.
removeClass
(
'
in
'
)
...
...
This diff is collapsed.
Click to expand it.
dist/js/bootstrap.min.js
+
1
-
1
View file @
f1009c19
This diff is collapsed.
Click to expand it.
js/alert.js
+
3
-
1
View file @
f1009c19
...
...
@@ -56,7 +56,9 @@
}
$
.
support
.
transition
&&
$parent
.
hasClass
(
'
fade
'
)
?
$parent
.
on
(
$
.
support
.
transition
.
end
,
removeElement
)
:
$parent
.
one
(
$
.
support
.
transition
.
end
,
removeElement
)
.
emulateTransitionEnd
(
150
)
:
removeElement
()
}
...
...
This diff is collapsed.
Click to expand it.
js/carousel.js
+
8
-
6
View file @
f1009c19
...
...
@@ -130,12 +130,14 @@
$next
[
0
].
offsetWidth
// force reflow
$active
.
addClass
(
direction
)
$next
.
addClass
(
direction
)
this
.
$element
.
find
(
'
.item
'
).
one
(
$
.
support
.
transition
.
end
,
function
()
{
$next
.
removeClass
([
type
,
direction
].
join
(
'
'
)).
addClass
(
'
active
'
)
$active
.
removeClass
([
'
active
'
,
direction
].
join
(
'
'
))
that
.
sliding
=
false
setTimeout
(
function
()
{
that
.
$element
.
trigger
(
'
slid
'
)
},
0
)
})
this
.
$element
.
find
(
'
.item
'
)
.
one
(
$
.
support
.
transition
.
end
,
function
()
{
$next
.
removeClass
([
type
,
direction
].
join
(
'
'
)).
addClass
(
'
active
'
)
$active
.
removeClass
([
'
active
'
,
direction
].
join
(
'
'
))
that
.
sliding
=
false
setTimeout
(
function
()
{
that
.
$element
.
trigger
(
'
slid
'
)
},
0
)
})
.
emulateTransitionEnd
(
600
)
}
else
{
this
.
$element
.
trigger
(
e
)
if
(
e
.
isDefaultPrevented
())
return
...
...
This diff is collapsed.
Click to expand it.
js/collapse.js
+
4
-
2
View file @
f1009c19
...
...
@@ -50,7 +50,7 @@
var
dimension
=
this
.
dimension
()
var
scroll
=
$
.
camelCase
([
'
scroll
'
,
dimension
].
join
(
'
-
'
))
var
actives
=
this
.
$parent
&&
this
.
$parent
.
find
(
'
.collapse
.in
'
)
var
actives
=
this
.
$parent
&&
this
.
$parent
.
find
(
'
> .accordion-group >
.in
'
)
if
(
actives
&&
actives
.
length
)
{
var
hasData
=
actives
.
data
(
'
bs.collapse
'
)
...
...
@@ -104,7 +104,9 @@
this
.
$element
[
method
](
'
in
'
)
$
.
support
.
transition
&&
this
.
$element
.
hasClass
(
'
collapse
'
)
?
this
.
$element
.
one
(
$
.
support
.
transition
.
end
,
complete
)
:
this
.
$element
.
one
(
$
.
support
.
transition
.
end
,
complete
)
.
emulateTransitionEnd
(
350
)
:
complete
()
}
...
...
This diff is collapsed.
Click to expand it.
js/dropdown.js
+
1
-
2
View file @
f1009c19
...
...
@@ -92,7 +92,7 @@
function
clearMenus
()
{
$
(
backdrop
).
remove
()
$
(
toggle
).
each
(
function
(
e
)
{
$
(
toggle
).
each
(
function
(
e
)
{
var
$parent
=
getParent
(
$
(
this
))
if
(
!
$parent
.
hasClass
(
'
open
'
))
return
$parent
.
trigger
(
e
=
$
.
Event
(
'
hide.bs.dropdown
'
))
...
...
@@ -145,7 +145,6 @@
// APPLY TO STANDARD DROPDOWN ELEMENTS
// ===================================
$
(
document
)
.
on
(
'
click.bs.dropdown.data-api
'
,
clearMenus
)
.
on
(
'
click.bs.dropdown.data-api
'
,
'
.dropdown form
'
,
function
(
e
)
{
e
.
stopPropagation
()
})
...
...
This diff is collapsed.
Click to expand it.
js/modal.js
+
14
-
17
View file @
f1009c19
...
...
@@ -74,7 +74,11 @@
that
.
enforceFocus
()
transition
?
that
.
$element
.
one
(
$
.
support
.
transition
.
end
,
function
()
{
that
.
$element
.
focus
().
trigger
(
'
shown.bs.modal
'
)
})
:
that
.
$element
.
one
(
$
.
support
.
transition
.
end
,
function
()
{
that
.
$element
.
focus
().
trigger
(
'
shown.bs.modal
'
)
})
.
emulateTransitionEnd
(
300
)
:
that
.
$element
.
focus
().
trigger
(
'
shown.bs.modal
'
)
})
}
...
...
@@ -99,7 +103,9 @@
.
attr
(
'
aria-hidden
'
,
true
)
$
.
support
.
transition
&&
this
.
$element
.
hasClass
(
'
fade
'
)
?
this
.
hideWithTransition
()
:
this
.
$element
.
one
(
$
.
support
.
transition
.
end
,
$
.
proxy
(
this
.
hideModal
,
this
))
.
emulateTransitionEnd
(
300
)
:
this
.
hideModal
()
}
...
...
@@ -123,19 +129,6 @@
}
}
Modal
.
prototype
.
hideWithTransition
=
function
()
{
var
that
=
this
var
timeout
=
setTimeout
(
function
()
{
that
.
$element
.
off
(
$
.
support
.
transition
.
end
)
that
.
hideModal
()
},
500
)
this
.
$element
.
one
(
$
.
support
.
transition
.
end
,
function
()
{
clearTimeout
(
timeout
)
that
.
hideModal
()
})
}
Modal
.
prototype
.
hideModal
=
function
()
{
var
that
=
this
this
.
$element
.
hide
()
...
...
@@ -174,14 +167,18 @@
if
(
!
callback
)
return
doAnimate
?
this
.
$backdrop
.
one
(
$
.
support
.
transition
.
end
,
callback
)
:
this
.
$backdrop
.
one
(
$
.
support
.
transition
.
end
,
callback
)
.
emulateTransitionEnd
(
150
)
:
callback
()
}
else
if
(
!
this
.
isShown
&&
this
.
$backdrop
)
{
this
.
$backdrop
.
removeClass
(
'
in
'
)
$
.
support
.
transition
&&
this
.
$element
.
hasClass
(
'
fade
'
)?
this
.
$backdrop
.
one
(
$
.
support
.
transition
.
end
,
callback
)
:
this
.
$backdrop
.
one
(
$
.
support
.
transition
.
end
,
callback
)
.
emulateTransitionEnd
(
150
)
:
callback
()
}
else
if
(
callback
)
{
...
...
This diff is collapsed.
Click to expand it.
js/tab.js
+
3
-
1
View file @
f1009c19
...
...
@@ -88,7 +88,9 @@
}
transition
?
$active
.
one
(
$
.
support
.
transition
.
end
,
next
)
:
$active
.
one
(
$
.
support
.
transition
.
end
,
next
)
.
emulateTransitionEnd
(
150
)
:
next
()
$active
.
removeClass
(
'
in
'
)
...
...
This diff is collapsed.
Click to expand it.
js/tooltip.js
+
3
-
12
View file @
f1009c19
...
...
@@ -238,19 +238,10 @@
$tip
.
removeClass
(
'
in
'
)
function
removeWithAnimation
()
{
var
timeout
=
setTimeout
(
function
()
{
$tip
.
off
(
$
.
support
.
transition
.
end
).
detach
()
},
500
)
$tip
.
one
(
$
.
support
.
transition
.
end
,
function
()
{
clearTimeout
(
timeout
)
$tip
.
detach
()
})
}
$
.
support
.
transition
&&
this
.
$tip
.
hasClass
(
'
fade
'
)
?
removeWithAnimation
()
:
$tip
.
one
(
$
.
support
.
transition
.
end
,
$tip
.
detach
)
.
emulateTransitionEnd
(
150
)
:
$tip
.
detach
()
this
.
$element
.
trigger
(
'
hidden.bs.
'
+
this
.
type
)
...
...
This diff is collapsed.
Click to expand it.
js/transition.js
+
8
-
0
View file @
f1009c19
...
...
@@ -40,6 +40,14 @@
}
}
// http://blog.alexmaccaw.com/css-transitions
$
.
fn
.
emulateTransitionEnd
=
function
(
duration
)
{
var
called
=
false
,
$el
=
this
$
(
this
).
one
(
'
webkitTransitionEnd
'
,
function
()
{
called
=
true
})
var
callback
=
function
()
{
if
(
!
called
)
$
(
$el
).
trigger
(
'
webkitTransitionEnd
'
)
}
setTimeout
(
callback
,
duration
)
}
$
(
function
()
{
$
.
support
.
transition
=
transitionEnd
()
})
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment
Menu
Explore
Projects
Groups
Snippets