如果背景颜色优于x,那么改变颜色吗?

时间:2016-03-30 09:57:06

标签: javascript php jquery html

我有一个简单的问题,但之前没有得到回答:

我有一个允许访问者更改background-color的选项,我希望我的脚本在color黑暗时将字体background-color更改为白色,反之亦然。< / p>

在php或javascript / jquery中有没有简单的方法呢?

也许像(概念):

 #1599FF == 15 + 99 + 255 == 369;

369/((255*3)/2) == 369/382.5 == bright;

1 个答案:

答案 0 :(得分:2)

我同意gavgrif回答它是静态bgcolor最简单的方法之一,因此如果用户选择动态颜色作为背景,那么最好根据

更改文本颜色

在下面的JS Fiddle页面加载我得到一个背景的bg值,即rgb(220,110,140)取其平均值并与127.5(平均值为(255,255,255))比较如果它更大我正在制作文本颜色有黑色其他文本颜色有白色

https://jsfiddle.net/swaminathang/ezg47hag/2/

<div id="bgblock" >
<h1 id="textColor">
Hello world
</h1>

</div>

#bgblock{
 width:400px;
  height:200px;
  background-color:#000000;
}

$( document ).ready(function() {
var bgColorString , hexvalue,hexvalue1,hexvalue2,hexvalue3
bgColorString = $("#bgblock").css('backgroundColor').toString();
hexvalue = bgColorString.split("(")[1].split(")")[0]

hexvalue1 = parseInt(hexvalue.split(",")[0]) ;
hexvalue2 = parseInt(hexvalue.split(",")[1]) ;
hexvalue3 = parseInt(hexvalue.split(",")[2]) ;

var coloravg = (hexvalue1 + hexvalue2+hexvalue3)/3;
if(coloravg > 127.5){
$("#textColor").css("color","black");
}else{
$("#textColor").css("color","white");
 }


});