繁体   English   中英

将RGB颜色值转换为RGBA 0.75 alpha

[英]Convert RGB color value to RGBA at 0.75 alpha

我有以下代码来获取元素的背景颜色。

var currentColor = $(this).css('background-color');

返回类似rgb(123,123,123)

我现在要做的是将其转换为rgba并以0.75 alpha显示

所以返回像rgba(123,123,123,0.75)这样的东西

有任何想法吗?

因为对于没有alpha的元素,jQuery似乎总是返回像rgb(r, g, b)这样的颜色,你可以简单地使用:

$(this).css('background-color').replace(')', ', 0.75)').replace('rgb', 'rgba');

只需确保背景颜色不是rgba:

var bg = $(this).css('background-color');
if(bg.indexOf('a') == -1){
    var result = bg.replace(')', ', 0.75)').replace('rgb', 'rgba');
}

http://regex101.com/r/lT9iM4

var re = /(rgb)\(([0-9]+),\s+([0-9]+),\s+([0-9]+)/; 
var currentColor = $(this).css('background-color');
var subst = 'rgba($2,$3,$4,0.75'; 

$(this).css('background-color', currentColor.replace(re, subst));

使用正则表达式的另一个解决方 但正如Cerbrus提到的那样,使用正则表达式来解决这个问题很简单。

另一个正则表达式尝试http://jsfiddle.net/hc3BA/

var colour = 'rgb(123,123,123)',
new_col = colour.replace(/rgb/i, "rgba");
new_col = new_col.replace(/\)/i,',0.75)');

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM