我需要更改 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 css opacity 跨浏览器性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15139496/