Я собираю сборщик времени, где вы можете установить время на «настоящие» часы. Im найти положение мыши и градусы + вращающуюся DIV с помощью этого скриптаDeg. во вращении
var g;
var h;
if (e.target.id == "rotationSliderContainer") {
g = e.offsetX;
h = e.offsetY;
} else {
g = e.target.offsetLeft + e.offsetX;
h = e.target.offsetTop + e.offsetY;
}
var atan = Math.atan2(g - radius, h - radius);
deg = -atan/(Math.PI/180) + 180;
var presne = Math.abs(deg - (Math.round(deg/30) * 30));
if (presne <= 2) deg = Math.round(deg/30) * 30;
if(deg == 360)
deg = 0;
two.style.transform = "rotate(" + deg + "deg)";
он работает нормально, но она имеет мало ошибку, когда я хочу, чтобы переместить DIV, между 12 и 1,2,3 его листать между 12 и одно из этих значений.
Настоящая демо-версия http://jsfiddle.net/Trolstover/afo7ky03/1/ Есть ли какой-либо ярлык, как предотвратить это нежелательное поведение или я просто ошибся где-то?
Для меня ошибка происходит, когда мышь находится слишком близко к центру часов. Если моя мышь на внешней стороне часов, она работает лучше (независимо от того, на каком номере я нахожусь) –