github.com/kayoticsully/syncthing@v0.8.9-0.20140724133906-c45a2fdc03f8/assets/bootstrap-3.1.1/js/transition.js (about)

     1  /* ========================================================================
     2   * Bootstrap: transition.js v3.1.1
     3   * http://getbootstrap.com/javascript/#transitions
     4   * ========================================================================
     5   * Copyright 2011-2014 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: http://www.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    // http://blog.alexmaccaw.com/css-transitions
    36    $.fn.emulateTransitionEnd = function (duration) {
    37      var called = false, $el = this
    38      $(this).one($.support.transition.end, function () { called = true })
    39      var callback = function () { if (!called) $($el).trigger($.support.transition.end) }
    40      setTimeout(callback, duration)
    41      return this
    42    }
    43  
    44    $(function () {
    45      $.support.transition = transitionEnd()
    46    })
    47  
    48  }(jQuery);