Javascript 用鼠标旋转div

Javascript 用鼠标旋转div,javascript,css,Javascript,Css,我正在js中构建时间选择器,您可以在其中设置“真实”时钟的小时数。 我正在使用以下脚本旋转div: if (e.target.id == "rotationSliderContainer") { g = e.offsetX; h = e.offsetY; } var atan = Math.atan2(g - radius, h - radius); deg = -atan / (Math.PI / 180) + 180; 虽然它可以工作,但它有一个小错误,每当你尝试在2/3和

我正在js中构建时间选择器,您可以在其中设置“真实”时钟的小时数。 我正在使用以下脚本旋转div:

if (e.target.id == "rotationSliderContainer") {
    g = e.offsetX;
    h = e.offsetY;
}
var atan = Math.atan2(g - radius, h - radius);
deg = -atan / (Math.PI / 180) + 180;
虽然它可以工作,但它有一个小错误,每当你尝试在2/3和9/10之间移动div时,它会“停止”或冻结,当我旋转div时,当鼠标仍在div上时,它甚至返回度数为
NaN

我找不到这个小问题的任何解决方案。我尝试使用
asin()
而不是
atan2
,但仍然不起作用

我忽略了什么吗?演示:

这是你的问题

<div id="rotationSliderDegrees">0&deg;</div>
0°;

查看您的web开发人员工具,您将看到div停止,因为您的鼠标正在通过该div。

它对我来说工作正常。这可能是浏览器兼容性问题,而不是javascript问题。哇,我花了很长时间在这个问题上。。太简单了!谢谢