2015-05-18 106 views
2

我在js中建立时间选择器,您可以在“真实”时钟上设置小时。 我旋转div使用该脚本:鼠标旋转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,它甚至退货度为NaN当我旋转div而鼠标仍然在div上。

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

我忽略了什么?演示:http://jsfiddle.net/afo7ky03/6/

+0

这对我来说工作得很好。这可能是一个浏览器兼容性问题,而不是一个javascript问题。我会多看一些。 – Scelesto

回答

2

这是你的问题

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

看在你的web开发工具,你会看到,DIV停止,因为你的鼠标经过这个div。

+0

哇,我花了很长时间在这个问题上..它非常简单!谢谢! – Darlyn