Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过javascript或jquery将hsla转换为rgba_Javascript_Jquery_Colors_Rgba_Color Codes - Fatal编程技术网

通过javascript或jquery将hsla转换为rgba

通过javascript或jquery将hsla转换为rgba,javascript,jquery,colors,rgba,color-codes,Javascript,Jquery,Colors,Rgba,Color Codes,我一个月前开始学习javascript。所以我对纯javascript不太了解。我正在学习jquery和jQueryUI。我正在尝试将hsla值转换为rgba值。我使用jquery ui滑块来选择hsla颜色。现在我想将这些jquery ui滑块值转换为rgba值。这是。我在stackoverflow和web上找到了一些解决方案。但我不明白如何将它们与jQueryUI滑块一起使用。所有的解决方案看起来几乎相同。这里有一个: /** *将RGB颜色值转换为HSL。换算公式 *改编自http://

我一个月前开始学习javascript。所以我对纯javascript不太了解。我正在学习jquery和jQueryUI。我正在尝试将hsla值转换为rgba值。我使用jquery ui滑块来选择hsla颜色。现在我想将这些jquery ui滑块值转换为rgba值。这是。我在stackoverflow和web上找到了一些解决方案。但我不明白如何将它们与jQueryUI滑块一起使用。所有的解决方案看起来几乎相同。这里有一个:

/**
*将RGB颜色值转换为HSL。换算公式
*改编自http://en.wikipedia.org/wiki/HSL_color_space.
*假设r、g和b包含在集合[0、255]中,并且
*返回集合[0,1]中的h、s和l。
*
*@param Number r红色值
*@param Number g绿色值
*@param Number b蓝色值
*@return数组表示HSL
*/
函数rgbToHsl(r、g、b){
r/=255,g/=255,b/=255;
var max=Math.max(r,g,b),min=Math.min(r,g,b);
变量h,s,l=(最大+最小)/2;
如果(最大=最小){
h=s=0;//消色差
}否则{
var d=最大-最小值;
s=l>0.5?d/(2-最大-最小):d/(最大+最小);
开关(最大值){
案例r:h=(g-b)/d+(g1)t-=1;
如果(t<1/6)返回p+(q-p)*6*t;
如果(t<1/2)返回q;
如果(t<2/3)返回p+(q-p)*(2/3-t)*6;
返回p;
}
var q=l<0.5?l*(1+s):l+s-l*s;
var p=2*l-q;
r=hue2rgb(p,q,h+1/3);
g=hue2rgb(p,q,h);
b=hue2rgb(p,q,h-1/3);
}
返回[r*255,g*255,b*255];
}
/**
*将RGB颜色值转换为HSV。换算公式
*改编自http://en.wikipedia.org/wiki/HSV_color_space.
*假设r、g和b包含在集合[0、255]中,并且
*返回集合[0,1]中的h、s和v。
*
*@param Number r红色值
*@param Number g绿色值
*@param Number b蓝色值
*@return数组表示HSV
*/
函数rgbToHsv(r、g、b){
r=r/255,g=g/255,b=b/255;
var max=Math.max(r,g,b),min=Math.min(r,g,b);
var h,s,v=最大值;
var d=最大-最小值;
s=max==0?0:d/max;
如果(最大=最小){
h=0;//消色差
}否则{
开关(最大值){
案例r:h=(g-b)/d+(g
我找到了这个

我还找到了我想要的东西。

我稍微修改了你的小提琴。你可以在这里看到:

简要说明。我已经将类似的代码从所有滑块的处理程序移到了两个函数中。一个函数设置颜色并适当填充两个文本字段。此函数也使用hslToRgb

function setColor(hue,sat,light,alpha) {
        var hsla = "hsla(" + hue + "," + sat + "%, " + light + "%, " + alpha + ")";
    var rgb = hslToRgb(hue/360,sat/100,light/100),
            rgba = "rgba("+rgb[0]+","+rgb[1]+","+rgb[2]+","+alpha+")";

            $("#slidevalue").text(hsla);
            $("#slidevalue-rgba").text(rgba);

            $(".slidevalue").css({
                "background-color": hsla
            });  

  }
第二种方法是调用此函数并替换
slider.slide的值

function handler() {
        setColor($('#range-slider1').slider('value'),$('#range-slider2').slider('value'),
                 $('#range-slider3').slider('value'),
                $('#range-slider4').slider('value'));  
  }

我稍微修改了你的小提琴。你可以在这里看到:

简要说明。我已经将类似的代码从所有滑块的处理程序移到了两个函数中。一个函数设置颜色并适当填充两个文本字段。此函数也使用hslToRgb

function setColor(hue,sat,light,alpha) {
        var hsla = "hsla(" + hue + "," + sat + "%, " + light + "%, " + alpha + ")";
    var rgb = hslToRgb(hue/360,sat/100,light/100),
            rgba = "rgba("+rgb[0]+","+rgb[1]+","+rgb[2]+","+alpha+")";

            $("#slidevalue").text(hsla);
            $("#slidevalue-rgba").text(rgba);

            $(".slidevalue").css({
                "background-color": hsla
            });  

  }
第二种方法是调用此函数并替换
slider.slide的值

function handler() {
        setColor($('#range-slider1').slider('value'),$('#range-slider2').slider('value'),
                 $('#range-slider3').slider('value'),
                $('#range-slider4').slider('value'));  
  }

看,我已经看到了。但是我不知道如何使用它们。只是复制这些函数并保存在js文件中,然后用args调用它们?没有特别的指示。试试看。我一个月前开始学习javascript。所以我对纯javascript不太了解。我正在学习jquery和jQueryUI。我在w3school上看到了JavaScript函数参数。但我不知道如何将滑块值作为输入。我已经看到了。但是我不知道如何使用它们。只是复制这些函数并保存在js文件中,然后用args调用它们?没有特别的指示。试试看。我一个月前开始学习javascript。所以我对纯javascript不太了解。我正在学习jquery和jqueryu