Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > JavaScript: Общие вопросы > style.backgroundColor в Firefox |
Автор: Dave 9.6.2008, 17:41 | ||
Цвет ячейки задан в виде в шестнадцатиричном виде #cccccc если получить style.backgroundColor в ИЕ то выдаст #cccccc, а если в Firefox то выдаст rgb(204, 204, 204), пример ниже. Как можно в FF получить Firefox #cccccc а не rgb(204, 204, 204) ? Думаю преобразовывать как то нужно, не знаю как только.
|
Автор: IDVsbruck 9.6.2008, 19:16 |
То, что ты получаешь - это, фактически, интерпретация CSS. У самой ячейки есть свойство bgColor, которым можно воспользоваться для получения цвета в представлении javascript. Думаю, это наиболее правильное решение. Хотя в крайнем случае, если все же прийдется работать со строкой, то отдели от нее rgb с открывающей и закрывающей скобкой, затем функцией split(строка, ",") раздели строку на массив, а каждое из трех элементов массива преобразуй в HEX: parseInt(stroka_iz_massiva, 16). Так ты получишь 3 хекса, которые можно соединить в строку типа "#xxxxxx". |
Автор: Ghirik 10.6.2008, 00:01 | ||||
Вообще, в JavaScript, на мой взгляд, удобнее оперировать с десятичными значениями. Я использую пару функций для доставания реальных значений стилей. Для кроссбраузерного получения действующего стиля:
И для парса действующих цветов:
Строчка такого вида var rgb = rgb($tyle(oject).backgroundColor); Вернет вам массив с тремя элементами R-G-B в десятичном виде. При этом, значения могут быть заданы хоть где, хоть через таблицы стилей, хоть прямо в атрибуте. |
Автор: Dave 10.6.2008, 12:43 |
Всем спасибо, помогли ! |
Автор: Ghirik 27.6.2008, 09:52 | ||
Изменил функцию для взятия действующих стилей:
Стало совсем просто... |