我已經創建了一個顏色色板和一個滑塊,用於控制顏色的黑暗度&。我想根據滑塊值改變顏色亮度。我的嘗試:如何更改jquery中的顏色亮度
$("#darklight").slider({
range: "min",
value: 0,
min: -0.5,
max: 0.5,
step: 0.1,
slide: function (event, ui) {
$("#swatches").children("div").each(function (i, v) {
var color = $(v).attr("title");
var rgb = HEXtoRGB(color);
var hsl = rgbToHsl(rgb[0], rgb[1], rgb[2]);
hsl[2] += ui.value; //what formula should i use here to change the lightness of color ?
rgb = hslToRgb(hsl[0], hsl[1], hsl[2]);
color = RGBtoHEX("rgb(" + rgb[0] + "," + rgb[1] + "," + rgb[2] + ")");
$(v).attr("title", color).css("backgroundColor", color);
});
}
});
我在這裏轉換顏色HSL和試圖操縱升價值,但沒有得到正確的公式來操作。任何人都可以請幫我嗎?
可以定義亮度?你的意思是「不透明」或「阿爾法」? –
alpha和不透明度是相同的。這聽起來像你的意思是'L'組件? – Alnitak
@Alnitak WHUT?!?! alpha和opacity不是同一個傢伙。 '當我們將不透明度值應用於元素時,不透明度值將由其所有子元素繼承。假設我們將不透明度值應用於DIV(div {opacity:0.5;}),該特定DIV中的文本,圖像和所有其他元素將繼承不透明度值,並且它們將在轉彎中變爲透明。 另一方面,RGBa設置該特定元素的顏色值的不透明度,並且透明度不會由其子元素繼承。換句話說,RGBA僅爲單個聲明設置不透明度值。「# –