Detect CSS transitions using Javascript (and without modernizr)?

Toby Hede picture Toby Hede · Sep 1, 2011 · Viewed 22.1k times · Source

How would I detect that a browser supports CSS transitions using Javascript (and without using modernizr)?

Answer

vcsjones picture vcsjones · Sep 1, 2011

Perhaps something like this. Basically it's just looking to see if the CSS transition property has been defined:

function supportsTransitions() {
    var b = document.body || document.documentElement,
        s = b.style,
        p = 'transition';

    if (typeof s[p] == 'string') { return true; }

    // Tests for vendor specific prop
    var v = ['Moz', 'webkit', 'Webkit', 'Khtml', 'O', 'ms'];
    p = p.charAt(0).toUpperCase() + p.substr(1);

    for (var i=0; i<v.length; i++) {
        if (typeof s[v[i] + p] == 'string') { return true; }
    }

    return false;
}

Adapted from this gist. All credit goes there.