如何根据角度确定绝对顶部和左侧位置?Javascript
How to determine the absolute top and left position according to an angle? Javascript
所以我有一个处于绝对位置的框。现在,我的目标是将一个角度作为用户的输入,并将该框移动到该角度。我的逻辑是取角度,将其转换为顶部和左侧的位置,使其相应地移动。但是由于像素差异,速度会发生变化。有其他方法的建议或帮助吗?此外,我将速度和角度作为用户的输入。
谢谢。
.box {
height: 50px;
width: 50px;
position: absolute;
top: 0px;
left: 0px;
background: #FCF4D9;
}
如果我正确理解你的问题,我认为你最好使用css"transform"属性,它允许你旋转或平移(又名移动)一个元素。
其语法为
.box {
transform: rotate(50deg);
}
但为了兼容性,您还应该始终添加
-moz-transform: rotate(50deg);
transform属性按指示移动元素,而不会影响其周围的任何其他元素。转换将从元素已由"top"answers"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)";
});
相关文章:
- 使用jQuery更改元素的顶部位置
- 页面滚动在粘性页脚布局中保持滚动顶部位置
- 点击更改顶部位置不会有任何作用
- 打开对话框正在更改我的滚动顶部位置
- 获取文档的当前顶部位置
- 单击时通过动画更改元素的顶部位置
- jQuery在某些动画更改其位置后获取元素的最新顶部位置
- 单击时使用旧的jQuery滚动顶部位置
- 防止 iframe 中的恶意 Flash 广告将用户重定向到顶部位置
- 更改borderBottom在顶部位置地址的颜色
- Jquery点击事件只在页面到达顶部位置时起作用
- Jquery注意,右顶部位置,显示新消息更高(又名后进先出)
- 变换(缩放)与简单的宽度/高度和左/顶部位置
- 如何获得文本本身的顶部位置,而不是文本元素,在jQuery/javascript
- 设置顶部位置为父元素与子元素之差的1/2
- Chart.js,每次更新后,避免滚动到顶部位置
- 如何找到窗口顶部位置和我的iframe开始位置之间的距离
- jQuery -拖放-获取左侧和顶部位置
- 基于顶部位置更新Div的类名
- 设置顶部位置并打开新选项卡