javascript - 用鼠标旋转div

标签 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 和 9/10 之间移动 div 时,它就会“停止”或卡住,当我旋转时,它甚至会返回度数 NaN当鼠标仍在 div 上时 div。

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

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

最佳答案

这是你的问题

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

查看您的 Web 开发人员工具,您会发现该 div 停止了,因为您的鼠标正在穿过该 div。

关于javascript - 用鼠标旋转div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30310326/

相关文章:

javascript - 使用 javascript 的虚拟键盘

JavaScript 类型错误 : Cannot call method 'getSize' of undefined

javascript date() 不适用于 IE

javascript - 如何避免 html 输入中出现 'NaN' 消息

javascript - 在 Safari/Mac 的页面上嵌入谷歌地图时出现奇怪的重绘(?)问题

jquery - 如何更改除侧边栏div之外的整个主体的背景颜色

javascript - 如何以更复杂的方式编写它?

javascript - RefererNotAllowedMapError Google map API

JavaScript 使用带有 .match 正则表达式的变量

Jquery Canvas 云插件 - 如何使用 CSS 设置 Canvas 元素的样式