如何根据角度确定绝对的顶部和左侧位置?Javascript

如何根据角度确定绝对的顶部和左侧位置?Javascript,javascript,html,css,angle,box,Javascript,Html,Css,Angle,Box,所以我有一个处于绝对位置的盒子。现在我的目标是以一个角度作为用户的输入,并以该角度移动该框。 我的逻辑是采取的角度,并转换成顶部和左侧的定位,使它相应地移动。但是速度会因像素差异而变化。 有其他方法的建议或帮助吗? 另外,我将速度和角度作为用户的输入 多谢各位 .box { height: 50px; width: 50px; position: absolute; top: 0px; left: 0px; background: #FCF4D9; } 如果我正确理解您

所以我有一个处于绝对位置的盒子。现在我的目标是以一个角度作为用户的输入,并以该角度移动该框。 我的逻辑是采取的角度,并转换成顶部和左侧的定位,使它相应地移动。但是速度会因像素差异而变化。 有其他方法的建议或帮助吗? 另外,我将速度和角度作为用户的输入

多谢各位

.box {
  height: 50px;
  width: 50px;
  position: absolute;
  top: 0px;
  left: 0px;
  background: #FCF4D9;
}

如果我正确理解您的问题,我认为您最好使用css“transform”属性,它允许您旋转或平移(也称为移动)元素

其语法是

.box {
  transform: rotate(50deg);
}
但为了兼容性,您还应该始终添加

-moz-transform: rotate(50deg);
“变换”属性按指示移动元素,而不影响其周围的任何其他元素。转换将从元素已被“top”和“left”属性定位的位置开始生效

也可以使用此属性平移或移动元素

transform: translate( 50px, 50px);
将元素向右移动50像素,向下移动50像素。这些属性可以结合使用:

transform: translate( 50px, 50px) rotate(50deg);
将移动元素,然后旋转它,而

transform: rotate(50deg) translate(50px, 50px);
将首先旋转元素,然后相对于已应用的旋转将其向右和向下移动50像素。

查看是否有帮助

var applyButton = document.getElementById("apply");
applyButton.addEventListener("click",function(){
  var angle = parseFloat(document.getElementById('angle').value.trim() || "0");
  var box = document.getElementById("rotate-box");
  box.style['transform'] = "rotate("+angle+"deg)";
});

你是说像这样的事吗?