Javascript。求十六进制代码的倒数
我正在处理HTML十六进制颜色代码,想知道是否有任何简单的方法可以使用PlanJavaScript计算任何颜色代码的倒数Javascript。求十六进制代码的倒数,javascript,html,hex,inverse,Javascript,Html,Hex,Inverse,我正在处理HTML十六进制颜色代码,想知道是否有任何简单的方法可以使用PlanJavaScript计算任何颜色代码的倒数 const hex = "#xxxxxx"; const inverseHex = "#yyyyyy"; const add = hex + inverseHex; // #000000 函数逆(图){ //反转RGB颜色 返回((figure&0x000000)|(~figure&0xFFFFFF)) } var a=document.querySelector(“#
const hex = "#xxxxxx";
const inverseHex = "#yyyyyy";
const add = hex + inverseHex; // #000000
函数逆(图){
//反转RGB颜色
返回((figure&0x000000)|(~figure&0xFFFFFF))
}
var a=document.querySelector(“#a”)
var b=document.querySelector(“#b”)
var color=“#FF00FF”
var inversedColor=“#”+inverse(parseInt(color.substr(1),16))
.toString(16)
.padStart(6,“0”)
.toUpperCase();
a、 style.background=颜色;
b、 style.background=反转颜色;
console.log(颜色,反转颜色)代码>
按钮A
按钮B
我的50美分:
const inv=(hex)=>“#”+hex.match(/[a-f0-9]{2}/ig).映射(e=>(255-parseInt(e,16)| 0).toString(16).替换(/^([a-f0-9])$/,'0$1')。连接(“”)
常量反转=()=>
document.querySelectorAll('circle'))
.forEach(c=>
(hex=c.getAttribute('fill'))&&
c、 setAttribute('fill',存货(十六进制))
)
console.log('000000',inv('000000'))
console.log('#ffffff',inv('#ffffff'))
console.log('#ff6600',inv('#ff6600'))
console.log('fe4289',inv('fe4289'))
正文{
背景:灰色
}
svg{
宽度:45px;
高度:45px;
显示:内联块;
利润率:10px
}
倒过来
Er,你真的想要\000000
?如果是这样的话,只需参考hex
?我不明白it@juancho你的意思是黑色会变成白色吗<代码>#000000
(黑色)到#ffffff
(白色)。如果是这样,您的答案是将十六进制转换为rgb,并从白色中减去每个值。可能的复制看起来像函数反转(图){return 0xFFFFFF-figure}
在眼睛上会容易一些。它是一样的,不是吗?使用(0x00FFFFFF-(rgba | 0xFF000000))|(rgba&0xFF000000);如果你不想让不透明的白色变成透明的黑色。关于数字&0x000000
(任何东西&0)==0