10.06.2012, 23:50
|
|
✔
|
|
Регистрация: 04.06.2012
Сообщений: 513
|
|
Сообщение от Deff
|
Почему -то все одно -синего нет ??? (Опера - ток -красный - и зелёный
|
Я, кста, через оперу смотрю =)
|
|
10.06.2012, 23:51
|
что-то знаю
|
|
Регистрация: 24.05.2009
Сообщений: 5,176
|
|
Сообщение от Deff
|
Почему -то все одно -синего нет ??? (Опера - ток -красный - и зелёный
|
ну дык судя по коду так и должно быть.
|
|
10.06.2012, 23:57
|
без статуса
|
|
Регистрация: 25.05.2012
Сообщений: 8,219
|
|
Сообщение от Hekumok
|
Объясните поподробней, плиз, что и как, я ведь не проф, а только начинающий почти =)
|
Ну забили нужныйе нам цвета в span и считываем как их даёт брауз в массив color
Теперрь твои нужные цвета в текущем формате в массиве color
-их подставляешь в cкрипте в цвета для боdy и их сравнивашь при считывании с бекграунда боdy
|
|
10.06.2012, 23:58
|
что-то знаю
|
|
Регистрация: 24.05.2009
Сообщений: 5,176
|
|
Сообщение от Deff
|
Ну забили нужныйе нам цвета в span и считываем как их даёт брауз в массив color
Теперрь твои нужные цвета в текущем формате в массиве color -их подставляешь в цвета и их сравнивашь при считывании с бекграунда боdy
|
зачем все это, я дал второй вариант, компактный и рабочий.
|
|
10.06.2012, 23:58
|
без статуса
|
|
Регистрация: 25.05.2012
Сообщений: 8,219
|
|
Сообщение от devote
|
зачем все это, я дал второй вариант, компактный и рабочий.
|
Прост он просил пояснить на той странице чо - к чему
Hekumok, этот метод
devote,уже использует в последнем Скрипте и ужал его и укомпактил с 12 строк до 4
|
|
11.06.2012, 00:04
|
|
✔
|
|
Регистрация: 04.06.2012
Сообщений: 513
|
|
Сообщение от Deff
|
Прост он просил пояснить на той странице чо - к чему
Hekumok, этот метод
devote,уже использует в последнем Скрипте и ужал его и укомпактил с 12 строк до 4
|
Да я знаю, видел, просто интересно как работает =)
|
|
11.06.2012, 00:11
|
что-то знаю
|
|
Регистрация: 24.05.2009
Сообщений: 5,176
|
|
Сообщение от Hekumok
|
просто интересно как работает =)
|
на каждое свойство стиля у браузера висит аксессор (setter/getter), при назначении какого то значения в свойство стиля, браузер его конвертирует в удобный для него вид, затем пытаясь получить текущее свойство, срабатывает геттер, и возвращает значение которое браузеру проще показать. С точки зрения оптимизации, выдать значение rgb() намного проще браузеру, так как не нужно конвертировать числа в шестнадцатеричное представление. Тем самым меньше затрачивается процессорного времени.
|
|
11.06.2012, 00:27
|
|
✔
|
|
Регистрация: 04.06.2012
Сообщений: 513
|
|
Сообщение от devote
|
на каждое свойство стиля у браузера висит аксессор (setter/getter), при назначении какого то значения в свойство стиля, браузер его конвертирует в удобный для него вид, затем пытаясь получить текущее свойство, срабатывает геттер, и возвращает значение которое браузеру проще показать. С точки зрения оптимизации, выдать значение rgb() намного проще браузеру, так как не нужно конвертировать числа в шестнадцатеричное представление. Тем самым меньше затрачивается процессорного времени.
|
Спасибо, devote, я это уже понял
|
|
08.09.2016, 00:06
|
|
Интересующийся
|
|
Регистрация: 07.09.2016
Сообщений: 13
|
|
Я наверное дико поздно с ответом, просто сам искал ответ, разобрался в коде, вот так должен был выглядеть код, который работает:
function color() {
if (document.body.style.backgroundColor == ''){document.body.style.backgroundColor='red';}
else if (document.body.style.backgroundColor == 'red'){document.body.style.backgroundColor='green';}
else if (document.body.style.backgroundColor == 'green'){document.body.style.backgroundColor='blue';};
}
Косяк был в конструкции, человек забыл поставить фигурные скобки после if () {}; , из за этого функция завершала свою работу после первого выполненного, либо выполняла последнюю, так как все условия мгновенно выполнялись один за одним.
Вот так она выглядит в цикле, то есть по кругу (R-G-B>R-G-B...):
function color() {
if (document.body.style.backgroundColor == ''){document.body.style.backgroundColor='red';}
else if (document.body.style.backgroundColor == 'red'){document.body.style.backgroundColor='green';}
else if (document.body.style.backgroundColor == 'green'){document.body.style.backgroundColor='blue';}
else {document.body.style.backgroundColor='red';};
}
Последний раз редактировалось MSSERG, 08.09.2016 в 00:11.
|
|
08.09.2016, 00:16
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Сообщение от MSSERG
|
Косяк был в конструкции, человек забыл поставить фигурные скобки после if () {};
|
Фигурные скобки нужны тогда, когда по условию должно выполнятся несколько инструкций, то есть строк кода.
|
|
|
|