【问题标题】:jquery safari opacity only仅 jquery safari 不透明度
【发布时间】:2011-07-22 19:03:42
【问题描述】:
#div1{ 
filter:alpha(opacity=85); 
-moz-opacity:0.85; 
-khtml-opacity:0.85; 
opacity: 0.85;
}

#div1:hover{ 
filter:alpha(opacity=100); 
-moz-opacity:1; 
-khtml-opacity:1; 
opacity: 1;
}

html>#div1.safarihack{
opacity: 1; 
}

以上所有内容都按预期进行。 Safari 总是将其不透明度设置为完全,因为如果不是,它就无法正确呈现。但是,我还有一个 jquery 事件,当单击此 div 时,不透明度会淡化为 0,我需要它在所有浏览器中淡化为 0(淡出不是一个选项)。

然后更改 div 的 html,我需要所有浏览器的不透明度恢复到 0.85 或 85,除了 safari,它需要回到 100。

如何在 jquery 中定位它?有什么办法可以放

html>#div1.safarihack {opacity: 1; }

喜欢这个吗?

$(this).html(nextHtml).animate({'opacity':'0.85',
                                              'filter':'alpha(opacity=85)', 
                                              '-moz-opacity':'0.85',
                                              '-khtml-opacity':'0.85',
                                              }, 500);

*注意 (this) = #div1**

【问题讨论】:

    标签: jquery css safari opacity


    【解决方案1】:

    【讨论】:

      【解决方案2】:

      我想你会觉得这个话题很有趣:Distinguish Chrome from Safari using jQuery.browser

      【讨论】:

        【解决方案3】:

        试试

        $(this).html(nextHtml).animate({opacity:($.browser.safari)?1:.85});
        

        请注意,$.browser.safari 已弃用。

        也不需要在 jQuery 中使用所有这些 opacity-attributes,jQuery 会将“opacity”转换为当前浏览器支持的属性。

        【讨论】:

          【解决方案4】:

          this demo 对您的问题有帮助吗?我降低了不透明度以使悬停在演示中更加明显。

          编辑:Updated demo,其中文本不透明度发生变化。在 Safari5 中似乎可以正常工作

          我不太了解 Safari 不透明度的问题,因为在 Safari5、Chrome12 或 Firefox4 中运行演示时没有发现任何问题。

          【讨论】:

          • 您的代码与我尝试的相同。如果我在 safari 中查看了您的演示,它可以工作,如果我查看了我的,它没有。 iv 现在以另一种方式解决了它,但为您的帮助欢​​呼,但仍然不确定为什么它不起作用。
          猜你喜欢
          • 2012-11-04
          • 2013-05-01
          • 1970-01-01
          • 2020-09-02
          • 2019-09-02
          • 2023-03-11
          • 2010-12-12
          • 2010-12-05
          • 2012-12-08
          相关资源
          最近更新 更多