jQuery 1.4.2在IE中显示纯色而不是尊重不透明度

时间:2010-03-29 18:18:13

标签: jquery internet-explorer opacity

请看一下我前一段时间制作的这个演示页:

http://www.s3maphor3.org/demo/hotbox/

这是一个自定义灯箱,在按住空格键时会触发。它的工作方式非常简单。页面上有两个隐藏的div,一个用于灯箱的内容,另一个用于保持暗色层(不透明度为70%)。变暗层的z指数比灯箱的z指数小1。持有空格键后,一个简单的jQuery脚本会在两个div上执行.show()。

这个演示工作正常,但是当我在另一个项目中使用它时它崩溃了:IE7和8没有显示70%的暗层,而是显示了纯黑色背景。我花了很多时间来检查原始演示版本与我在其他项目中使用的版本之间的差异。最终我把它钉了出来:区别在于jQuery版本。

原始演示使用jQuery 1.3.1,而在我的新项目中,我使用的是jQuery 1.4.2。在新的jQuery库中必须有所改变,但我很难找到解决方法和解决方法。我可以留在1.3.1,但最终我必须以某种方式解决这个问题。

1 个答案:

答案 0 :(得分:3)

如此迅速地回答我自己的问题有点蹩脚,但我找到了一个解决方法。在显示它之前在javascript中设置不透明度(尽管CSS已经具有该规则)似乎可以解决这个问题:

$('#darken').css('filter', 'alpha(opacity=70)');
$('#darken').show(0);

这会在屏幕上显示微小的flickr,因此我愿意接受更好的解决方案。