jQuery函数将alpha添加到元素bg

OPO*_*OPO 5 jquery

我试图制作检查元素的bg并更改其bg的函数给出了alpha通道.功能有这种形式:

$.fn.bgalpha = function(alpha) {
    var bg = $(this).css('background-color');
    //...
}
Run Code Online (Sandbox Code Playgroud)

但是:当设置正常颜色时,chrome将bg返回为rgb,当没有bg时,chrome返回为零的rgba,即8总是返回hex,ie9在没有bg时返回'transparent',当有bg时返回rgb等等.案例.

我想要做的是>从对象的bg颜色中获取r,g,b,将其添加到'a'通道并将元素bg设置为具有所有值的rgba.但是从简单的事情来看,当我们讨论交叉浏览时,它变得棘手和复杂.

你有没有想过如何使用那些'uniwersal'方式操作这些颜色?在不同的情况下,我得到值'无','透明','rgba','rgb'或'hex'作为bg的初始值

Bla*_*ger 2

包含jQuery Color 插件(它是官方认可的)并使用它的.alpha()方法。

以下代码片段将更改 的背景颜色,this使其达到 50% 透明:

var clr2 = $.Color(this,'background-color').alpha(0.5);
$(this).css('background-color', clr2.toRgbaString());
Run Code Online (Sandbox Code Playgroud)

或作为一行:

$(this).css('background-color', $.Color(this,'background-color').alpha(0.5).toRgbaString());
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/mblase75/aea3h/