JS中 rgba颜色动态修改成半透明颜色

function setHalfOpacity(rgbaString) {  
    // 验证rgbaString是否符合rgba(r,g,b,a)的格式  
    // 这里只做了简单的验证,可能需要更严格的验证逻辑  
    if (!/^rgba\(\d+,\d+,\d+,(0\.\d{1,2}|1(?:\.0{1,2})?)\)$/.test(rgbaString)) {  
        throw new Error('Invalid rgba string format');  
    }  
  
    // 使用正则表达式提取RGB值和alpha值  
    const [, red, green, blue, alpha] = rgbaString.match(/^rgba\((\d+),\s*(\d+),\s*(\d+),\s*(0\.\d+|1(?:\.0{1,2})?)\)$/);  
  
    // 将提取的值转换为浮点数(如果它们不是已经是的话)  
    const redFloat = parseFloat(red);  
    const greenFloat = parseFloat(green);  
    const blueFloat = parseFloat(blue);  
    const alphaFloat = parseFloat(alpha); // 这里虽然转换了,但我们不直接使用它  
  
    // 返回新的rgba字符串,其中alpha被设置为0.5  
    return `rgba(${red}, ${green}, ${blue}, 0.5)`;  
}  
  
// 使用示例  
const a = 'rgba(49, 61, 57, 1)';  
const halfOpaqueColor = setHalfOpacity(a);  
console.log(halfOpaqueColor); // 输出: rgba(49, 61, 57, 0.5)

设置动态样式不生效时 尝试给rgba(里面空格删除) 

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值