使用jQuery或PHP检测较深或较浅的背景色

使用jQuery或PHP检测较深或较浅的背景色,php,jquery,colors,Php,Jquery,Colors,这个有点难。我为网站演示做了一个样式切换,可以改变特定的div背景颜色。一切正常,但由于该div还包含文本和标题,如果访问者将背景更改为白色,标题和文本将消失 因此,与其为该容器添加标题或文本开关,不如检测背景颜色的变化,这样会影响其中的文本 通过使用TynyColor jQuery插件,我将标题和段落的颜色设置为30%的浅色,并且几乎可以正常工作,但一旦你变成白色或接近白色,我需要它切换到深色 使用jQuery TinyColor和Colorpicker插件或php有没有办法检测较暗/较亮的颜

这个有点难。我为网站演示做了一个样式切换,可以改变特定的div背景颜色。一切正常,但由于该div还包含文本和标题,如果访问者将背景更改为白色,标题和文本将消失

因此,与其为该容器添加标题或文本开关,不如检测背景颜色的变化,这样会影响其中的文本

通过使用TynyColor jQuery插件,我将标题和段落的颜色设置为30%的浅色,并且几乎可以正常工作,但一旦你变成白色或接近白色,我需要它切换到深色

使用jQuery TinyColor和Colorpicker插件或php有没有办法检测较暗/较亮的颜色代码?我之所以还要求使用php,是因为我也将该演示移植到php,所以其中任何一个都适合我

我已经在这里设置了一个小演示供您测试

代码非常简单,对于演示和我的切换器,我使用的是来自


这对你有用吗


您最好的选择可能是开发一个函数,该函数计算两种特定颜色之间的差值。如果增量低于某个阈值,则将文本颜色增加到此阈值。挑战在于确定颜色是深还是浅。

这对你有用吗


您最好的选择可能是开发一个函数,该函数计算两种特定颜色之间的差值。如果增量低于某个阈值,则将文本颜色增加到此阈值。挑战在于确定颜色是深还是浅。

这里是完整的jquery/php版本,以防其他人需要它,这里是完整的jquery/php版本,以防其他人需要它
$('#colorSelector').ColorPicker({
    color: '#0000ff',
    onShow: function (colpkr) {
        $(colpkr).fadeIn(500);
        return false;
    },
    onHide: function (colpkr) {
        $(colpkr).fadeOut(500);
        return false;
    },
    onChange: function (hsb, hex, rgb) {
        $('#container').css('backgroundColor', '#' + hex);
    }
});