Javascript 围绕特定点旋转

Javascript 围绕特定点旋转,javascript,rotation,Javascript,Rotation,我正在尝试围绕另一个元素旋转一个元素。我已经把这段代码放在一起了,虽然代码运行得很好,但我对元素的旋转有点问题。这不太准确。蓝点位于底部时离开轨道 我已经使用了代码,但无法修复它。你可以查一下 rotateObj函数取自 您正在计算点的中心,但使用其左上角的点定位它。定位点时,需要考虑点的尺寸。尝试将函数spin()中的最后两行更改为: point.obj.style.left = (newCoor.x - 4) + "px"; point.obj.style.top = (newCoor.y

我正在尝试围绕另一个元素旋转一个元素。我已经把这段代码放在一起了,虽然代码运行得很好,但我对元素的旋转有点问题。这不太准确。蓝点位于底部时离开轨道

我已经使用了代码,但无法修复它。你可以查一下

rotateObj
函数取自


您正在计算点的中心,但使用其左上角的点定位它。定位点时,需要考虑点的尺寸。尝试将函数
spin()
中的最后两行更改为:

point.obj.style.left = (newCoor.x - 4) + "px";
point.obj.style.top  = (newCoor.y - 4) + "px";

(您应该去掉“
-4
”,并替换点的一半宽度和高度,但这样可以更简洁地表达您的想法。)

您好。要求人们发现代码中的错误并不特别有效。您应该使用调试器(或添加打印语句)来隔离问题,方法是跟踪程序的进度,并将其与预期发生的情况进行比较。一旦这两个问题出现分歧,你就发现了问题所在。(如果有必要,你应该构造一个。)在看到你的答案后,我再次检查了我的代码,结果发现我在圆中定位点和旋转原点时使用了相同的坐标。现在修好了。
point.obj.style.left = (newCoor.x - 4) + "px";
point.obj.style.top  = (newCoor.y - 4) + "px";