我正在做一个轨道模拟,我有行星在运行,但是如果你看里面的 3 颗行星,然后从轨道的虚线移动。在轨道的底部,行星低于这条线。在轨道的顶部,行星位于虚线之上或之上。
您可以在此处查看一个工作示例。
我认为这与没有考虑边框宽度有关,但我试图纠正这个问题的一切都没有奏效。我目前正在使用 outerWidth() 和 outerHeight() ,但这似乎并没有起到作用。
这是相关的代码:
var width = parseFloat($(this).parent().outerWidth()) / 2;
var height = parseFloat($(this).parent().outerHeight()) / 2;
var point = getPoint(width, height, angle * (Math.PI / 180));
$(this).css('left', point[0] + ($(this).parent().outerWidth() / 2) + 'px');
$(this).css('top', point[1] + ($(this).parent().outerHeight() / 2) + 'px');
getPoint
功能是:
function getPoint(width, height, angle)
{
var x = parseFloat(width) * Math.cos(angle);
var y = parseFloat(height) * Math.sin(angle);
return [x, y];
}