Last active
February 28, 2016 22:31
-
-
Save enkot/88625f0630f160d60c7a to your computer and use it in GitHub Desktop.
Check JavaScript 2D/3D transforms support (not only)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function transformsSupport (value) { | |
var vendors = [null,'webkit','Moz','O','ms']; | |
var element = document.createElement('div'); | |
var featureSupport = false; | |
switch (value) { | |
case '2D': | |
featureSupport = propertySupport('Transform'); | |
break; | |
case '3D': | |
featureSupport = propertySupport('Perspective'); | |
break; | |
} | |
function propertySupport(vendor) { | |
var vendorSupport = false; | |
var prefix = null; | |
var property = null; | |
for (var i = 0, l = vendors.length; i < l; i++) { | |
if (vendors[i] !== null) { | |
property = vendors[i] + vendor; | |
prefix = vendors[i]; | |
} else { | |
property = vendor.toLowerCase(); | |
prefix = vendor; | |
} | |
if (element.style[property] !== undefined) { | |
vendorSupport = true; | |
break; | |
} | |
} | |
return { result: vendorSupport, prefix: prefix }; | |
} | |
return featureSupport; | |
}; | |
transformsSupport('2D'); // e.g. { result: true, prefix: 'webkit' } | |
transformsSupport('3D'); // e.g. { result: false, prefix: 'ms' } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment