我正在开发一个使用新的CSS3 transform:rotate(180deg)
功能的项目。每个现代浏览器都有自己的标签,但确实支持它。只有IE(当然)没有。但是使用过滤器可以实现同样的目的。 唯一的问题是,IE使用另一个来源,就像CSS3那样。我的猜测是,通过一些数学可以使原点成为中心,但我只是不明白(我的数学不是以前是什么样的。)
可以在此处找到代码和示例:http://jsbin.com/adiwa3/2。
在网址(http://jsbin.com/adiwa3/2/edit)后面添加/edit
应该会打开编辑器进行测试。
在IE中查看它以查看问题,并在另一个现代浏览器中查看所需的结果。
当前修正(错误地)问题的部分是在if(i==#){...}
之间,应该改为某些数学,因为li
的数量可以改变。
我希望有人可以帮助我。谢谢你。
答案 0 :(得分:1)
我发现这个项目用于跨浏览器转换http://www.useragentman.com/blog/2010/03/09/cross-browser-css-transforms-even-in-ie/。尝试分析代码以了解它在IE中的行为(或直接下载脚本:))。
答案 1 :(得分:0)
好的,我找到了解决方案。我需要使用costheta作为左侧位置,sintheta作为顶部位置,并将它们与宽度距离相乘。用高度和宽度求和,用2除以得到正确的值。
that.css({
left: (cos * dis / 2) - (parseInt(that.width()) / 2),
top: (sin * dis / 2) - (parseInt(that.height()) / 2)
});
您可以在此处找到工作代码http://jsbin.com/adiwa3/53,并在此处找到工作示例http://jeroenvanwarmerdam.nl/contact.aspx
答案 2 :(得分:0)
我遇到了同样的问题而无法在IE上运行Javascript。 Here is我发现的解决方案。