Jquery 在IE 9中加速圆角

Jquery 在IE 9中加速圆角,jquery,css,internet-explorer-9,Jquery,Css,Internet Explorer 9,我在页面上有几个div,内容相对较多,并应用了css属性边框半径(包括特定于供应商的前缀版本)。Firefox和Chrome都可以毫无问题地处理它,但在IE9中,速度慢得令人痛苦。只需停用它,页面速度至少可以提高5倍 在IE9中,有没有一种方法可以使用某种变通方法/替代方法来加速它。虽然我知道我可能会使用背景图像和附加标记来模拟旧式风格,但我正在寻找一种不那么突兀的解决方案。正如@Parzifal已经提到的,在IE中有一些众所周知的无边界半径的圆角创建方法。它们基于将一些javascript代码

我在页面上有几个div,内容相对较多,并应用了css属性
边框半径
(包括特定于供应商的前缀版本)。Firefox和Chrome都可以毫无问题地处理它,但在IE9中,速度慢得令人痛苦。只需停用它,页面速度至少可以提高5倍


在IE9中,有没有一种方法可以使用某种变通方法/替代方法来加速它。虽然我知道我可能会使用背景图像和附加标记来模拟旧式风格,但我正在寻找一种不那么突兀的解决方案。

正如@Parzifal已经提到的,在IE中有一些众所周知的无边界半径的圆角创建方法。它们基于将一些javascript代码(通过行为或表达式)附加到特定类。这段代码是添加一些额外的DOM元素还是添加VML标记

从这个意义上讲,建议使用这种方法,因为实际上没有更便宜的方法来动态创建圆角,并且不使用图像。尽管这种方法需要彻底的测试,并且使进一步的支持和开发至少有点痛苦

我不知道你到底是怎么分析的,哪个阶段才是瓶颈。我圆角慢下来,比如说,滚动,我不知道该建议什么

若这只是关于加载页面的问题,那个么你们可以像往常一样加载所有内容,但根本并没有圆角。然后,在javascript中,您可以监听DOMContentLoaded并使用圆角指定现有CSS规则

假设您有一个带有圆角的预定义类,代码如下所示:

$('.there-should-be-rounded-corners').addClass('and-here-come-rounded-corners');

再次调查这个问题。虽然不能100%肯定这会有帮助,但至少值得一试

IE8使用
behavior
htc
文件有一个变通方法,我认为它在IE9中可以工作,但我怀疑它会比本机实现更快。事实上,这似乎是绘画,而不是布局/加载,因为页面即使在加载后仍然很慢。@TomasVana慢在什么意义上-滚动时有CPU开销还是什么?如果你想编辑这个问题,你可能会很快得到一些有用的建议。我怀疑由于某种原因,重新油漆的时间太长了。无论如何,谢谢你的提示;)我也观察到了这一点。只有当节点内部有大量具有圆角的内容时,它才显得有意义。它似乎是油漆-尽管无论在哪里重新油漆都很慢。理论上,边界半径对布局计算没有影响(至少在Webkit和Opera中没有)。顺便说一句,在重新绘制期间,我没有观察到任何严重的CPU消耗。