gpt4 book ai didi

javascript - 如何根据rgb和rgba背景颜色更改文本颜色?

转载 作者:行者123 更新时间:2023-11-28 12:13:54 25 4
gpt4 key购买 nike

我正在尝试根据背景(rgb 和 rgba)颜色更改文本颜色。我必须使用 RGB,但无法弄清楚 RGBA 颜色。这是我的代码-

var rgb = this.css('background-color');
var pattern = /^rgba?\((\d+),\s*(\d+),\s*(\d+)(,\s*\d+\.*\d+)?\)$/;
var matches = rgb.match(pattern);
var colorValue = Math.round(((parseInt(matches[1]) * 299) + (parseInt(matches[2]) * 587) + (parseInt(matches[3]) * 114)) /1000);

if (colorValue > 125) {
this.css('color', '#444444');
} else if (parseInt(matches[4]) < 0.5) {
this.css('color', '#444444');
} else {
this.css('color', 'white');
}

我无法找出错误

else if (parseInt(matches[4]) < 0.5) {
this.css('color', '#444444');
}

感谢您的帮助。

最佳答案

在@Patrick Roberts、@SpazzMarticus 和@Twisty 评论的帮助下,我现在可以正常工作了。这是完整的工作代码。

var rgb = this.css('background-color');
var pattern = /^rgba?\((\d+),\s*(\d+),\s*(\d+)(,\s*\d+\.*\d+)?\)$/;
var matches = rgb.match(pattern);
var colorValue = Math.round(((parseInt(matches[1]) * 299) + (parseInt(matches[2]) * 587) + (parseInt(matches[3]) * 114)) /1000);

var colorOpacity = '';
if (matches[4]) {
var colorOpacity = matches[4].replace(', ','');
}

if (colorValue > 125 || parseFloat(colorOpacity) < 0.5) {
this.css('color', '#444444');
}
else {
this.css('color', 'white');
}

关于javascript - 如何根据rgb和rgba背景颜色更改文本颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54230440/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com