【问题标题】:Opacity IE 8 Fallback with jQuery使用 jQuery 的不透明度 IE 8 回退
【发布时间】:2013-05-07 06:47:53
【问题描述】:

我看过这篇文章:

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

非常感谢任何帮助。

【问题讨论】:

  • 我可能是错的,但我的印象是 jQuery 具有规范化 jquery 代码的代码,例如 .css('opacity'),因此它可以在旧的 IE 版本中运行,而无需使用过滤器。另外,如果你想使用 rgba,你可以借助 Css3Pie 在旧 IE 中使用它。

标签: jquery css internet-explorer opacity


【解决方案1】:

试试这个:

  /* 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

【讨论】:

  • @Dhaval 我是否解决了您的问题,还是您需要进一步的帮助?
  • 这对我在 IE8 中使用 jQuery 的 css() 函数不起作用。
猜你喜欢
  • 1970-01-01
  • 2010-12-12
  • 2012-05-01
  • 2012-02-09
  • 2011-05-25
  • 2010-10-29
  • 2012-01-17
  • 2011-10-12
  • 1970-01-01
相关资源
最近更新 更多