2013-05-13 77 views
0

我已经通过这篇文章了:不透明度IE 8使用jQuery回退

Set opacity with javascript in IE 8?

这纯粹是用JavaScript实现,我使用jQuery的,所以我想设置在IE8的不透明度,但我没有得到成功使用jQuery。

到目前为止,我这样做是这样的:

$('.set').click(function (e) { 
     var hiddenSection = $('div.hidden'); 
     hiddenSection.fadeIn() 
     .css({ 'display': 'block' }) 
     .css({ width: $(window).width() + 'px', height: $(window).height() + 'px' }) 
     .css({ top: ($(window).height() - hiddenSection.height())/2 + 'px', 
     left: ($(window).width() - hiddenSection.width())/2 + 'px'}) 
     .css({ 'background-color': 'rgb(190,190,190)'}) //Here bgcolor 
     .css({ 'filter': 'alpha(opacity=1000)' }) // here opacity 
     .appendTo('body'); 
     $('span.close').click(function() { $(hiddenSection).fadeOut(); }); 
}); 

反正是有IE 8中达到这个CSS不透明度时,我知道,IE8不支持不透明度,但是我提到的帖子得到这个工作在IE 8中也是如此。

这句话.css({ 'filter': 'alpha(opacity=**val**)' })可能有些东西要打破。

我怎样才能在IE 8中工作?

注:

请避免rgba()我知道它也不会与IE 8

任何帮助是极大的赞赏工作。

+0

我可能是错的,但我的印象是,jQuery的代码使像'.css('opacity')'这样的jquery代码正常化,这样它就可以在旧版本的IE中工作,而无需使用过滤器。另外,如果你想使用rgba,你可以在Css3Pie的帮助下在旧版IE中使用它。 – Spudley 2013-05-13 11:02:13

回答

2

试试这个:

/* IE 8 */ 
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"; 

    /* IE 5-7 */ 
    filter: alpha(opacity=50); 
你的情况

所以:

.css({ '-ms-filter': 'progid:DXImageTransform.Microsoft.Alpha(opacity=**val**)' }) 

过滤不透明度值可以是整数0和100之间

更多HERE

+0

@Dhaval我解决了你的问题,还是需要进一步的帮助? – JAM 2013-05-13 14:31:09

+0

这对我在IE8中使用jQuery的css()函数不起作用。 – Yohn 2015-03-24 21:30:25