ФорумПрограммирование → Сниппеты JavaScript
2018-04-09 04:31:18
Преобразует десятичное число [0..255] в шестнадцатеричное с ведущим нулём [00..FF]

function decToHex(dec) {
    var result = parseInt(dec.toString()).toString(16);

    if (result.length == 1) {
        result = "0".concat(result);
    }

    return result;
}
2018-04-09 04:33:39
Полифил. Удаляет из UTF-8 строки ведущие и конечные пробельные символы

if (!String.prototype.trim) {
    (function() {
        String.prototype.trim = function() {
            return this.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, '');
        };
    })();
}
2018-04-09 04:40:23
Создание массива цветов RGB по схеме HSL (меняя Hue) – как на этом форуме

var hue = function(P, Q, h) {
    if (h < 0.0) h += 1.0;
    if (h > 1.0) h -= 1.0;
    if (h * 6.0 < 1.0) return P + (Q - P) * h * 6.0;
    if (h * 2.0 < 1.0) return Q;
    if (h * 3.0 < 2.0) return P + (Q - P) * (2.0 / 3.0 - h) * 6.0;
    return P;
};

var HSLToRGB = function(h, s, l) {
    var r, g, b;
    var Q, P;

    if (s == 0.0) {
        r = g = b = 0.0;
    } else {
        Q = l < 0.5 ? l * (s + 1.0) : l + s - (l * s);
        P = l * 2.0 - Q;
        r = hue(P, Q, h + 1.0 / 3.0);
        g = hue(P, Q, h);
        b = hue(P, Q, h - 1.0 / 3.0);
    }

    return [r * 255, g * 255, b * 255];
};

var createHueArray = function() {
    var colors = [];

    for (var i = 0; i < 360; i++) {
        var color = HSLToRGB(i / 360.0, 1.0, 0.5);

        colors[i] = "#".concat(
            decToHex(color[0]),
            decToHex(color[1]),
            decToHex(color[2]));
        }

        return colors;
};

Функцию HSLToRGB можно использовать самостоятельно (вместе с hue). Принимает три параметра: Hue [0 … 360), Saturation [0.0 … 1.0], Luminosity [0.0 … 1.0]