首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery - HSL彩色背景

jQuery - HSL彩色背景
EN

Stack Overflow用户
提问于 2015-10-30 14:03:34
回答 2查看 3.8K关注 0票数 2

我在Javascript/jQuery中遇到了一个奇怪的问题。我需要用HSL颜色模型更新背景颜色,使用下面编写的函数:

代码语言:javascript
复制
function updateColorPreviewHSV(hsv){
    var hue = Math.round(hsv.getHue(), 0);
    var saturation = Math.round(hsv.getSaturation()*100, 0);
    var value = Math.round(hsv.getValue()*100, 0);

    var hsvText = "hsl("+hue+","+saturation+"%,"+value+"%)";
    console.log(hsvText);
    $("#pickedColor").css({"background": hsvText });
}

给定的输出是好的,但它不会改变背景色。来自hsvText变量的示例输出:

代码语言:javascript
复制
hsl(336,74%,100%)
hsl(340,73%,100%)
hsl(343,73%,100%)
hsl(307,73%,100%)

只有当我手动将值输入变量时才会进行更改,如下所示:

代码语言:javascript
复制
function updateColorPreviewHSV(hsv){

    var hue = 100;
    var saturation = 70;
    var value = 40;

    var hsvText = "hsl("+hue+","+saturation+"%,"+value+"%)";
    console.log(hsvText);
    $("#pickedColor").css({"background": hsvText });
}

而且起作用了。那么-为什么第一个函数不想正常工作呢?我在哪里弄错了?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-10-30 18:15:09

@ are 442--你离得很近,但没有解释错在哪里。

谢谢大家的回答,我找到了“窃听器”。

更清楚的解释:正如你说的-脚本是可以的,但可视化并不好。我没有提到,首先预览div被设置为白色。

HSV和HSL是两种不同的颜色模型(我一开始假设它们是相同的)。HSV从色调到黑色,HSL从白色到黑色。

因此,在HSL中,最后一个变量为100% (表示亮度)是白色的。所以我的背景色总是没变。但是当亮度降低50%时,我在HSV模型中得到100%的值,所有这些都很有魅力:)

票数 1
EN

Stack Overflow用户

发布于 2015-10-30 14:41:25

你的剧本写得很好。只是

代码语言:javascript
复制
hsl(336,74%,100%)
hsl(340,73%,100%)
hsl(343,73%,100%)
hsl(307,73%,100%)

都是白色的所以你看不出有什么区别。

http://hslpicker.com/

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33437872

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档