Суть задачи сводиться к тому, что вам необходимо создать свою собственную функцию на JS, которая будет принимать цвет в HEX формате (например, #fafafa), а также градус затемнения. В итоге она будет возвращать новый цвет, который темнее или же светлее на градус затемнения.
Пример выполнения задачи
Вы можете выбрать цвет, а также ввести градус затемнения или же осветления. Если число положительное,
то цвет будет светлее, если негативное, то цвет будет темнее.
Если поле с выбор цвета не отображается, значит браузер не поддерживает этот тег. Вам стоит зайти с другого бразуера, к примеру Google Chrome.
Градус задается в диапазоне от -100 и до 100.
Затемнить
Пример затемнения заднего фона
Решение задания
Задача безусловно сложная и её выполнение совсем не простое. Мы приведем лишь код функций, которую можно вызывать, передавая два параметра и получать нужный результат. Итак, вот она:
function shaderColor (color, percent) {
var num = parseInt (color.slice (1), 16);
var amt = Math.round(2.55 * percent);
var R = (num >> 16) + amt;
var G = (num >> 8 & 0x00FF) + amt;
var B = (num & 0x0000FF) + amt;
var new_color = ("#" + (0x1000000 +
(R
Что же здесь происходит?
Сначала мы создаем переменную num, в которою помещаем переданный цвет. При этом конвертируем его в число и удаляем первый символ решетку. В переменную amt помещаем процент, умноженный на 2.55. Это необходимо для добавления его к каждому из цветов RGB, что мы как раз и делаем в следующих строках. Далее мы все соединяем воедино и приводим все к строке. При этом, идут проверки на то, что цвет не может быть темнее черного или же светлее белого.