JS と CSS を使用してホイールを回転させるための次のコードがあります。
var prefix = (function() {
if (document.body.style.MozTransform !== undefined) {
return "MozTransform";
}
else if (document.body.style.WebkitTransform !== undefined) {
return "WebkitTransform";
}
else if (document.body.style.OTransform !== undefined) {
return "OTransform";
}
else {
return "transform";
}
}()),
rotateElement = function(element, degrees) {
var val = "rotate(-" + degrees + "deg)";
element.style[prefix] = val;
element.setAttribute("data-rotation", degrees);
},
spinModifier = function() {
return Math.random() * 10 + 25;
},
modifier = spinModifier(),
slowdownSpeed = 0.5,
spinWheelfn = function(amt) {
clearTimeout(spinTimeout);
modifier -= slowdownSpeed;
if (amt == undefined) amt = parseInt(wheel.getAttribute('data-rotation'));
rotateElement(wheel, amt);
if (modifier > 0) {
spinTimeout = setTimeout(function() {
spinWheelfn(amt + modifier);
}, 1000 / 5);
} else {
modifier = spinModifier();
/**some other code...*/
}
};
IE以外のすべてのブラウザで正常に動作します。
ここで動作するデモを参照してください: http://jsfiddle.net/maniator/H5LKy/129/
IE で [Spin Wheel] をクリックすると、ホイールが正しく回転する (そして同じ結果が得られる) ように関数を変更するにはどうすればよいですか?