随机给定margin-left和margin-top后计算角度

时间:2017-09-16 13:09:12

标签: jquery css math random angle

得到一个简单的问题。我有一个应用程序,平原的徽标随机飞过。 (他们在每X秒获得左边距和上边距的随机新位置)。旋转它们的下一个挑战是,飞机的头部将朝向它们飞行的角度。

没有真正找到解决方法如何做到这一点。我们只知道:

MARGIN-LEFT

MARGIN-TOP

但随着飞机随机飞行,这些价值不断变化。有什么想法或建议吗?

UPDATE(为了更加明显)这里有一大堆代码:

  var nh = Math.floor(Math.random() * $(window).height() - 50);
  var nw = Math.floor(Math.random() * $(window).width() - 50);
  $('#plane').animate({ top: nh, left: nw}, 10000, function(){});
  $('#plane').css({"transform" : "rotate(" + Math.atan2(nh,nw)/Math.PI*180 +"deg)"});

1 个答案:

答案 0 :(得分:1)

目前还不是很清楚你想要达到的目标。

为了根据边距计算角度,您可以使用Math.atan2()

function getAngle(x1,y1,x2,y2){
    return Math.atan2(y2-y1,x2-x1)/Math.PI*180
}
var angle = getAngle(MARGIN-LEFT, MARGIN-TOP);
console.log('the angle is',angle,'degrees')