Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/440.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用jQuery/JavaScript将Alpha通道添加到背景色_Javascript_Jquery_Html_Css_Alpha - Fatal编程技术网

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

使用jQuery/JavaScript将Alpha通道添加到背景色,javascript,jquery,html,css,alpha,Javascript,Jquery,Html,Css,Alpha,我有一个jQuery函数,它在事件发生时将Alpha通道添加到背景色 这是我的名片 CSS div { background-color: rgb(100,100,100); } JavaScript function addAlphaChannel() { var oldBGColor = $('div').css('backgroundColor'); //rgb(100,100,100) var newBGColor = oldBGColor.replace('rgb',

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

这是我的名片

CSS

div { background-color: rgb(100,100,100); }
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 });
}
这段代码运行良好,但我想知道是否有更好的方法添加/更改alpha通道


任何帮助都将不胜感激。

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

CSS

JS


希望这能对您有所帮助。

是否使用不透明度css属性?(但这不仅仅是bg颜色)@bwoebi不透明会影响我元素的所有子元素是的,我刚才说过。但是没有,我看不到任何替代方案。您的代码是如何工作的?名为“color”的字符串来自何处?试试看,是的,这是相同的另一种方式-使用字符串,即使您不确定是否符合您的正则表达式语法(您自己试试),在时间/代码效率方面,具体的替换(如“rob”=>“rgba”)比使用正则表达式引擎更快。
 div { background-color: rgba(100, 100, 100, 1.0); }
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 });
}