【问题标题】:Trouble with a RGBA generatorRGBA 发生器有问题
【发布时间】:2015-01-02 17:23:43
【问题描述】:

我正在尝试制作一个 RGBA 生成器。我使用了这段代码,但不幸的是它是用于 RGB,而不是 RGBA 我的意思是我不知道如何添加不透明度属性。那么你能帮我完成这个任务吗?这是我获得代码的网站:http://jqueryui.com/slider/#colorpicker

<script>
function hexFromRGB(r, g, b) {
    var hex = [
        r.toString(16),
        g.toString(16),
        b.toString(16)
    ];
    $.each(hex, function(nr, val) {
        if (val.length === 1) {
            hex[nr] = "0" + val;
        }
    });
    return hex.join("").toUpperCase();
}

function refreshSwatch() {
    var red = $("#red").slider("value"),
        green = $("#green").slider("value"),
        blue = $("#blue").slider("value"),
        hex = hexFromRGB(red, green, blue);
    $("#swatch").css("background-color", "#" + hex);
}
$(function() {
    $("#red, #green, #blue").slider({
        orientation: "horizontal",
        range: "min",
        max: 255,
        value: 127,
        slide: refreshSwatch,
        change: refreshSwatch
    });
    $("#red").slider("value", 255);
    $("#green").slider("value", 140);
    $("#blue").slider("value", 60);
});
</script>

【问题讨论】:

  • 很多不同的方法可以做到这一点;但是,最好的方法可能是更改此解决方案的整个方法,只需使用rgba() function。另一种选择是使用CSS opacity property

标签: jquery jquery-ui generator rgba


【解决方案1】:

您不应重新计算颜色。 CSS可以理解颜色rgb()rgba()hsl()的功能:

$("#swatch").css("background-color", "rgb(" + red + "," + green + "," + blue + ")");

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多