javascript - 旋转后的js三 Angular 定心

标签 javascript jquery html math css

Here's the scenario

哦,JavaScript 之神! 献给那些还记得学校三 Angular 学的人 ;-)

请参阅下面的链接,我实际上是在尝试将一些内容居中,但是由于 Angular 原因,正常的 screenwidth-divwidth/2 样式等式不起作用。

目前仅在 firefox 中 http://jsbin.com/uruvub/2/

非常感谢!

最佳答案

首先想象一个“红色坐标系”连接到你的红色框的左上角,红色 y 轴由红色框的顶部边界给出并向右,红色 y 轴由左边界给出红色框和下降。灰框在这个红色坐标系中的位移(d_x, d_y)为:

d_x = (W - w) / 2,   W = width of red box, w = width of grey box
d_y = (H - h) / 2,   H = height of red box, h = height of grey box

相同的位移向量(d_x, d_y)对绿框的右上角有效。

现在,我们需要在您的 X 轴和 Y 轴给定的“黑色坐标系”中表达这个向量 (d_x, d_y)。通过旋转a Angular (您指定的 Angular )和原点的偏移,可以将红色系统转换为黑色系统。旋转后的矢量为

D_x = d_x * cos(a) - d_y * sin(a)
D_y = d_x * sin(a) + d_y * cos(a)

这是黑色系统中相对于黑色系统中红框左上角的位移。

备注:根据旋转的方向,可能需要将上面公式中的a改为-a

关于javascript - 旋转后的js三 Angular 定心,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7963933/

相关文章:

javascript - 检测所有类似文本输入的最佳方法

java - Android WebView按钮输入文件

javascript - 哪些浏览器支持 ECMAScript 6 的导入和导出语法?

javascript - 我如何制作下拉类别列表?

jquery - 使用 twitter-bootstrap 在 btn-group 中定义值

javascript - 如何在没有 jquery 的情况下使用 javascript 向没有 id 的元素添加 html

javascript - jquery 对多个列表进行排序

javascript - 阻止用户访问 Apache Tomcat 上托管的资源文件夹中的文件

javascript - js传递变量给函数返回undefined

jquery - 添加双倍我已有的 div 时遇到问题