transition.js 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. /**
  2. * Created by duhuan on 2017/9/14.
  3. */
  4. +function ($) { "use strict";
  5. function transitionEnd() {
  6. var el = document.createElement('bootstrap')
  7. var transEndEventNames = {
  8. 'WebkitTransition' : 'webkitTransitionEnd'
  9. , 'MozTransition' : 'transitionend'
  10. , 'OTransition' : 'oTransitionEnd otransitionend'
  11. , 'transition' : 'transitionend'
  12. }
  13. for (var name in transEndEventNames) {
  14. if (el.style[name] !== undefined) {
  15. return { end: transEndEventNames[name] }
  16. }
  17. }
  18. }
  19. // http://blog.alexmaccaw.com/css-transitions
  20. $.fn.emulateTransitionEnd = function (duration) {
  21. var called = false, $el = this
  22. $(this).one($.support.transition.end, function () { called = true })
  23. var callback = function () { if (!called) $($el).trigger($.support.transition.end) }
  24. setTimeout(callback, duration)
  25. return this
  26. }
  27. $(function () {
  28. $.support.transition = transitionEnd()
  29. })
  30. }(window.jQuery);