Я не вижу ничего плохого, но я, вероятно, сделал бы это следующим образом:
function getTransitionPrefix() {
var el = document.createElement( "div" ),
prefixes = ["Webkit", "Moz", "O", "ms"];
for ( var i = 0; i < prefixes.length; i++ ) {
if ( prefixes[i] + "Transition" in el.style ) {
return prefixes[i];
}
}
return "transition" in el.style ? "" : false;
}
Затем установите переход:
var setTransition = (function() {
var pref = getTransitionPrefix();
return function( elem, trans ) {
if ( pref !== false ) {
var s = pref === "" ? "transition" : pref + "Transition";
elem.style[s] = trans;
}
};
})();
setTransition( element, "transition settings" );