我需要更改DIV的不透明度(如果有所不同,则可能包含图像)。通常一个人会用

$('#id1').css('opacity', opacity1);
$('#id2').css('opacity', opacity2);
...
$('#idN').css('opacity', opacityN);


但是如果我有很多DIV,性能会下降很多,尤其是在IE中。
所以我的问题是如何提高性能? (跨浏览器解决方案,使用jQuery是可选的)

PS:opacity1,opacity2等始终是不同的,并且在脚本开始时生成。实际上,它们是随着时间而变化的……所以使用类可能会很困难,对吧?所有DIV已被缓存(此处未显示),因此唯一的性能限制步骤是css.opacity。由于某些原因,我无法按照Kevin的建议重新附加父元素

最佳答案

据我了解,我认为这可以通过CSS完成,并在需要时用jQuery替换ID。
您只需要对IE浏览器使用过滤器,如下所示。

#id1 {opacity:0.4; filter:alpha(opacity=40);}
#id2 {opacity:0.6; filter:alpha(opacity=60);}
#id3 {opacity:0.8; filter:alpha(opacity=80);}

关于jquery - jQuery CSS不透明度跨浏览器性能,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15139496/

10-13 02:54