【问题标题】:opacity of element元素的不透明度
【发布时间】:2011-11-13 01:34:32
【问题描述】:

我正在尝试通过 jQuery 设置元素的不透明度。

$('[class*="OtherFeatur"]').load(function(){
                    $(this).fadeTo(500, 0.5);
                });

不工作,但当我这样做时

                $('[class*="OtherFeatur"]').fadeTo(0,0.5);
它会受到影响。第一个代码的问题在哪里? 哪个更好,通过 jQuery 或 CSS 设置不透明度? 我怎样才能通过 css 做到这一点,所有浏览器都可以显示它?

【问题讨论】:

  • 您要淡化的元素是什么?我假设使用load 它是一个图像?此外,fadeTo 是一个动画,而不仅仅是一种设置不透明度的方法。只是在 css 中设置它和动画它是不一样的。

标签: jquery css opacity


【解决方案1】:

如果您只想设置元素的opacity,请使用css 方法。

 $('[class*="OtherFeatur"]').css("opacity", 0.5);

【讨论】:

    【解决方案2】:

    动画需要长于 0ms

    你可以使用:

    $('[class*="OtherFeatur"]').css({ opacity: 0.5 });
    

    如果我没记错的话,jquery 已经扩展了 CSS 上的不透明度规则,因此它适用于所有浏览器。

    【讨论】:

    • 我读过 quirksmode.org/css/opacity.html ,我正在寻找适用于所有浏览器(例如 IE)的方式
    • 它对所有浏览器都具有魔力,因此 IE 也会改变不透明度。
    【解决方案3】:

    .load() - 从服务器加载数据并将返回的 HTML 放入匹配的元素中。

    因此,此功能适用于将数据从另一个资源加载到您选择的元素。

    可能你需要页面加载事件:

    $(document).ready(function() {
       $('[class*="OtherFeatur"]').fadeTo(0,0.5);
    });
    

    或者如果你加载一些数据,首先在.load()方法中指定源。

    $('[class*="OtherFeatur"]').load('mysource.html', function(){
                    $(this).fadeTo(500, 0.5);
                });
    

    在这种情况下,函数将在加载内容后被调用。

    【讨论】:

      【解决方案4】:

      你要找的是

      $(window).load(function() {
          $('[class*="OtherFeatur"]').fadeTo(0,0.5);
      });
      

      【讨论】:

        猜你喜欢
        • 2012-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-01-22
        • 1970-01-01
        • 1970-01-01
        • 2013-06-03
        • 2011-02-03
        • 2016-10-12
        相关资源
        最近更新 更多