zl程序教程

您现在的位置是:首页 >  后端

当前栏目

js获得网页背景色和字体色的方法

JS方法 获得 字体 网页背景
2023-06-13 09:15:20 时间
获得网页的背景色和字体颜色,方法如下:

思想:通过取得颜色属性值得到的是rgb色,不是我们想要的,所以需要将rgb色装换为十六进制色,首先获得rgb色:
复制代码代码如下:

varrgb=document.getElementById("color").style.backgroundColor;

得到格式如下:rgb(225,22,23);然后进行拆分:
复制代码代码如下:

varrgb=rgb.split("(")[1];//拆分后为[rgb,225,22,23)]形式,长度为2的数组

再将(225,22,23)字符串进行拆分(注意:只有number类型的才能转换,所以用parseInt强制转换类型!):
复制代码代码如下:
for(vark=0;k<3;k++){
str[k]=parseInt(rgb.split(",")[k]).toString(16);//str数组保存拆分后的数据
}

最后的组合:
复制代码代码如下:
str="#"+str[0]+str[1]+str[2];

整个代码如下:
复制代码代码如下:
<!DOCTYPEhtml>
<html>
<head>
<title>getHexColorjs/jQuery获得十六进制颜色</title>
<metacharset="utf-8"/>
<scripttype="text/javascript">
functiongetHexBgColor(){
varstr=[];
varrgb=document.getElementById("color").style.backgroundColor.split("(");
for(vark=0;k<3;k++){
str[k]=parseInt(rgb[1].split(",")[k]).toString(16);
}
str="#"+str[0]+str[1]+str[2];
document.getElementById("color").innerHTML=str;
}
functiongetHexColor(){
varstr=[];
varrgb=document.getElementById("color").style.color.split("(");
for(vark=0;k<3;k++){
str[k]=parseInt(rgb[1].split(",")[k]).toString(16);
}
str="#"+str[0]+str[1]+str[2];
document.getElementById("color").innerHTML=str;
}
</script>
<styletype="text/css">
#color{
width:200px;
height:200px;
line-height:200px;
text-align:center;
}
</style>
</head>
<body>
<divstyle="color:#88ee22;background-color:#ef8989;"id="color"></div>
<inputonclick="getHexBgColor();"type="button"value="获得背景色"/>
<inputonclick="getHexColor();"type="button"value="获得字体颜色"/>
</body>
</html>