Javascript 使用CSS3变换:IE原点问题中的旋转

Javascript 使用CSS3变换:IE原点问题中的旋转,javascript,math,internet-explorer,css,Javascript,Math,Internet Explorer,Css,我正在做一个使用新CSS3transform:rotate(180度)功能的项目。每个现代浏览器都有自己的标签,但确实支持它。只有IE(当然)没有。但使用过滤器也可以实现同样的效果唯一的问题是,IE像CSS3一样使用另一个原点。我的猜测是,通过一些数学,原点可以居中,但我不明白(我的数学不是以前的数学) 代码和示例可在此处找到:。 在url()后面添加/edit,应该可以打开编辑器进行测试。 在IE中查看问题,在另一个现代浏览器中查看所需结果 当前(错误地)修复问题的部分是在if(i==#){…

我正在做一个使用新CSS3
transform:rotate(180度)
功能的项目。每个现代浏览器都有自己的标签,但确实支持它。只有IE(当然)没有。但使用过滤器也可以实现同样的效果唯一的问题是,IE像CSS3一样使用另一个原点。我的猜测是,通过一些数学,原点可以居中,但我不明白(我的数学不是以前的数学)

代码和示例可在此处找到:。 在url()后面添加
/edit
,应该可以打开编辑器进行测试。 在IE中查看问题,在另一个现代浏览器中查看所需结果

当前(错误地)修复问题的部分是在
if(i==#){…}
之间,应该将其更改为一些数学,因为
li
的数量可以更改


我希望有人能帮我。谢谢。

我找到了这个用于跨浏览器转换的项目。尝试分析代码以了解其在IE中的行为(或直接下载脚本:)。

好的,我找到了解决方案。我需要用costheta表示左侧位置,sintheta表示顶部位置,并将它们与宽度距离相乘。将其与高度和宽度相加,除以2,得到正确的值

that.css({
  left: (cos * dis / 2) - (parseInt(that.width()) / 2),
  top: (sin * dis / 2) - (parseInt(that.height()) / 2)
});

您可以在这里找到工作代码和一个工作示例

我也遇到了同样的问题,但没有在IE上运行Javascript的能力。
我找到的解决方案。

谢谢,我会研究一下。好的,这与我所寻找的有点不同。经过反复试验,我找到了自己的解决办法。泰