jQuery CSS Transition Support Test

A jQuery plugin that tests for css transition.

by jamessouth

JavaScript

/*global jQuery*/
(function ($) {

    "use strict";

    var el = document.createElement("accelerate"),
        testProps = function (props) {
            var type = $.isArray(props) ? "a" : "o";
            for (var i in props) {

                var prop = (type === "a" ? props[i] : i);

                if (el.style[prop] !== undefined) {
                    return prop;
                }
            }
            return false;
        };

    $.support.transition = (function () {

        var transitionTests = {
            transition: "TransitionEnd",
            WebkitTransition: "webkitTransitionEnd",
            MozTransition: "transitionend",
            OTransition: "oTransitionEnd",
            msTransition: "MsTransitionEnd"
        },
            support = testProps(transitionTests);

        return support && { end: (function () {

            return transitionTests[support];

        } ())
        };

    } ());

} (jQuery));



console.log($.support.transition);
console.log($.support.transition.end);