javascript - 使用 jQuery/JavaScript 将 Alpha channel 添加到背景颜色

标签 javascript jquery html css alpha

我有一个 jQuery 函数,可以在事件发生时将 Alpha channel 添加到 background-color

这是我的 jsFiddle .

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 channel ?

任何帮助将不胜感激。

最佳答案

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

CSS

 div { background-color: rgba(100, 100, 100, 1.0); }

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 });
}

希望对您有所帮助。

关于javascript - 使用 jQuery/JavaScript 将 Alpha channel 添加到背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16678801/

相关文章:

javascript - Chart JS动态图表

javascript - 如何在 kraken.js 中定义相对于 url 的语言环境?

javascript - 未捕获的 TypeError 不是函数

javascript - 如何允许用户将图像放在 html 中的另一个图像之上?

jQuery serializeArray 没有获取动态创建的表单元素

javascript - 将鼠标悬停在元素 A 上,用淡出动画更改元素 B 的样式?

javascript - Webpack 4 文件加载器将 svg 文件内容更改为 __webpack_public_path__

javascript - 如何从按钮中获取值?

javascript - Jquery语法错误,无法识别的表达式:

HTML 或 CSS 从对象数据更改文本