Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #21 (permalink)  
Старый 10.06.2012, 23:50
Аватар для Hekumok
Отправить личное сообщение для Hekumok Посмотреть профиль Найти все сообщения от Hekumok
 
Регистрация: 04.06.2012
Сообщений: 513

Сообщение от Deff Посмотреть сообщение
Почему -то все одно -синего нет ??? (Опера - ток -красный - и зелёный
Я, кста, через оперу смотрю =)
Ответить с цитированием
  #22 (permalink)  
Старый 10.06.2012, 23:51
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от Deff
Почему -то все одно -синего нет ??? (Опера - ток -красный - и зелёный
ну дык судя по коду так и должно быть.
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #23 (permalink)  
Старый 10.06.2012, 23:57
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от Hekumok
Объясните поподробней, плиз, что и как, я ведь не проф, а только начинающий почти =)
Ну забили нужныйе нам цвета в span и считываем как их даёт брауз в массив color
Теперрь твои нужные цвета в текущем формате в массиве color
-их подставляешь в cкрипте в цвета для боdy и их сравнивашь при считывании с бекграунда боdy
Ответить с цитированием
  #24 (permalink)  
Старый 10.06.2012, 23:58
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от Deff
Ну забили нужныйе нам цвета в span и считываем как их даёт брауз в массив color
Теперрь твои нужные цвета в текущем формате в массиве color -их подставляешь в цвета и их сравнивашь при считывании с бекграунда боdy
зачем все это, я дал второй вариант, компактный и рабочий.
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #25 (permalink)  
Старый 10.06.2012, 23:58
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от devote
зачем все это, я дал второй вариант, компактный и рабочий.
Прост он просил пояснить на той странице чо - к чему

Hekumok, этот метод
devote,уже использует в последнем Скрипте и ужал его и укомпактил с 12 строк до 4
Ответить с цитированием
  #26 (permalink)  
Старый 11.06.2012, 00:04
Аватар для Hekumok
Отправить личное сообщение для Hekumok Посмотреть профиль Найти все сообщения от Hekumok
 
Регистрация: 04.06.2012
Сообщений: 513

Сообщение от Deff Посмотреть сообщение
Прост он просил пояснить на той странице чо - к чему
Hekumok, этот метод
devote,уже использует в последнем Скрипте и ужал его и укомпактил с 12 строк до 4
Да я знаю, видел, просто интересно как работает =)
Ответить с цитированием
  #27 (permalink)  
Старый 11.06.2012, 00:11
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от Hekumok
просто интересно как работает =)
на каждое свойство стиля у браузера висит аксессор (setter/getter), при назначении какого то значения в свойство стиля, браузер его конвертирует в удобный для него вид, затем пытаясь получить текущее свойство, срабатывает геттер, и возвращает значение которое браузеру проще показать. С точки зрения оптимизации, выдать значение rgb() намного проще браузеру, так как не нужно конвертировать числа в шестнадцатеричное представление. Тем самым меньше затрачивается процессорного времени.
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #28 (permalink)  
Старый 11.06.2012, 00:27
Аватар для Hekumok
Отправить личное сообщение для Hekumok Посмотреть профиль Найти все сообщения от Hekumok
 
Регистрация: 04.06.2012
Сообщений: 513

Сообщение от devote Посмотреть сообщение
на каждое свойство стиля у браузера висит аксессор (setter/getter), при назначении какого то значения в свойство стиля, браузер его конвертирует в удобный для него вид, затем пытаясь получить текущее свойство, срабатывает геттер, и возвращает значение которое браузеру проще показать. С точки зрения оптимизации, выдать значение rgb() намного проще браузеру, так как не нужно конвертировать числа в шестнадцатеричное представление. Тем самым меньше затрачивается процессорного времени.
Спасибо, devote, я это уже понял
Ответить с цитированием
  #29 (permalink)  
Старый 08.09.2016, 00:06
Аватар для MSSERG
Интересующийся
Отправить личное сообщение для MSSERG Посмотреть профиль Найти все сообщения от MSSERG
 
Регистрация: 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.
Ответить с цитированием
  #30 (permalink)  
Старый 08.09.2016, 00:16
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от MSSERG
Косяк был в конструкции, человек забыл поставить фигурные скобки после if () {};
Фигурные скобки нужны тогда, когда по условию должно выполнятся несколько инструкций, то есть строк кода.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск