Установка свойства элемента 'bgColor' в строку создает 'случайные' цвета - PullRequest
0 голосов
/ 07 декабря 2018

В настоящее время балуюсь javascript на моем сайте.Попытка изменить цвет фона элемента выделения с помощью строки, введенной в элемент ввода.Цвет изначально черный и, кажется, меняется после неопределенного количества символов.После того, как цвет изменился в первый раз, он, кажется, изменится на другой цвет после относительно схожего количества символов.

const inputbox = document.querySelector('input')
    inputbox.onkeydown = (f) => document.querySelector('marquee').bgColor = (f.target.value);

Может кто-нибудь объяснить, почему это происходит?

Ответы [ 2 ]

0 голосов
/ 07 декабря 2018

Вирджиния связалась этот ответ, который это объясняет.

Основная идея заключается в том, что существует внутренний процесс преобразования строк в шестнадцатеричные триплеты.

  1. Заменить все не шестнадцатеричные символы на '0'
  2. Добавлять больше нулей в конец, пока длина строки не делится на 3
  3. Разделить строкуна три равные группы
  4. Обрежьте все, кроме первых двух символов

Это даст вам шестнадцатеричный триплет, который выглядит примерно так:

0f,00,10

Преобразование каждогоот шестнадцатеричного до десятичного:

240,0,16

Что представляет собой цвет RGB!

0 голосов
/ 07 декабря 2018

Цвет выделенной области изменяется после того, как введен правильный шестнадцатеричный цвет (например, "fab").

Примечание: <marquee> - это нестандартный HTML.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...