Javascript 用鼠标旋转div
我正在js中构建时间选择器,您可以在其中设置“真实”时钟的小时数。 我正在使用以下脚本旋转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和
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°</div>
0°;
查看您的web开发人员工具,您将看到div停止,因为您的鼠标正在通过该div。它对我来说工作正常。这可能是浏览器兼容性问题,而不是javascript问题。哇,我花了很长时间在这个问题上。。太简单了!谢谢