【问题标题】:Problem with setting opacity by jQuery in IE7 and IE8在 IE7 和 IE8 中通过 jQuery 设置不透明度的问题
【发布时间】:2011-08-31 10:29:01
【问题描述】:

我有这个代码:

<ul id='menu'>
  <li class="no1"> </li>
  <li class="no2"> </li>
  <li class="no3"> </li>
</ul>

类 no1 - no3 只是为“li”标签设置背景图像。我使用以下代码将所有 li 元素的不透明度设置为 0.15:

$('#menu > li').hover(function () {
      $('#menu > li').stop().animate({'opacity':'0.15'},"slow");
}

在 Opera、Chrome、Safari 和 Firefox 中一切正常,但在 IE7 和 IE8 中不起作用 (甚至可能是 IE9)

我发现我必须在 IE 中使用 style.filter 属性,但不知道如何在上面的代码中准确实现它。有什么想法吗?

【问题讨论】:

    标签: jquery internet-explorer internet-explorer-8 internet-explorer-7 opacity


    【解决方案1】:

    opacitycss 类型在那些版本的 IE 中不存在,

    这样做:'filter': 'alpha(opacity=15)' 用于 IE

    Read up on opacity here

    【讨论】:

    • 不透明度在 IE 中是粗略的
    【解决方案2】:

    试试:

    $('#menu > li').stop().fadeTo("slow", 0.15);
    

    【讨论】:

    【解决方案3】:

    css 是过滤器:alpha(opacity=15); 不知道分配它的jquery语法会如何 我猜:

     $('#menu > li').stop().animate({'opacity':'0.15'; 'filter':'alpha(opacity=15)'},"slow");
    

    虽然不完全确定。

    【讨论】:

    • 似乎它不适用于 LI 标签背景中的图像。有什么建议吗?
    • 尝试使用逗号然后:$('#menu > li').stop().animate({'opacity':'0.15', 'filter':'alpha(opacity=15)' },"慢");
    • 或者试试这个:'filter':"progid:DXImageTransform.Microsoft.Alpha(Opacity=15)" msdn.microsoft.com/en-us/library/ms532847%28v=vs.85%29.aspx
    猜你喜欢
    • 2012-12-05
    • 2011-09-29
    • 2011-06-04
    • 2013-06-16
    • 2010-12-19
    • 2011-05-23
    • 2011-08-18
    • 2011-10-04
    相关资源
    最近更新 更多