使用jQuery/JavaScript将Alpha通道添加到背景色
我有一个jQuery函数,它在事件发生时将Alpha通道添加到背景色 这是我的名片 CSS使用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',
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 });
}