使用jQuery/JavaScript将Alpha通道添加到背景颜色

Lio*_*rom 5 html javascript css jquery alpha

我有一个jQuery函数,在事件发生时将Alpha通道添加到背景颜色.

这是我的jsFiddle.

CSS

div { background-color: rgb(100,100,100); }
Run Code Online (Sandbox Code Playgroud)

JavaScript的

function addAlphaChannel() {
    var oldBGColor = $('div').css('backgroundColor'); //rgb(100,100,100)
    var newBGColor = oldBGColor.replace('rgb', 'rgba').replace(')', ',.8)'); //rgba(100,100,100,.8)

    $('div').css({ backgroundColor: newBGColor });
}
Run Code Online (Sandbox Code Playgroud)

这段代码工作正常,但我想知道是否有更好的方法来添加/更改alpha通道?

任何帮助都感激不尽.

小智 3

如果您想使用 javascript 更改 rgba css 属性,则需要使用替换方法,但是,您可以像这样改进代码:

CSS

 div { background-color: rgba(100, 100, 100, 1.0); }
Run Code Online (Sandbox Code Playgroud)

JS

function addAlphaChannel() {
    var oldBGColor = $('div').css('background-color'), //rgb(100,100,100),
        newBGColor = oldBGColor.replace(/[^,]+(?=\))/, '0.8'); //rgba(100,100,100,.8);

    $('div').css({ backgroundColor: newBGColor });
}
Run Code Online (Sandbox Code Playgroud)

希望这可以帮到你。