0 / 0 / 0
Регистрация: 24.12.2012
Сообщений: 11

Почему не понимается цвет шрифта? (сообщение о параметре стиля пустое)

12.11.2013, 13:49. Показов 929. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Исходная задачка - переключать цвет символов и фона на инверсные и обратно.
Пока хочу просто поменять цвет шрифта. Для этого надо узнать, а какой цвет сейчас.
Срипт цвет шрифта не видит.
Java
1
2
3
4
5
6
7
8
9
10
function toggleBW(){ 
var mColor = document.getElementById('book_contents').style.color;
alert(mColor); 
//СООБЩЕНИЕ выходит ПУСТОЕ 
//(или indefined или NaN - это если подставлять parseInt или String [тут сообщение вообще не появляется])
}
 
document.getElementById('BW').onclick = function() {
    toggleBW();
};
Стиль id-'book_contents' записан во внешнем css-файле (если это важно).
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.11.2013, 13:49
Ответы с готовыми решениями:

Изменение шрифта, стиля шрифта, толщины и т.д., надписи у кнопки
Всем доброго времени суток! Появился вопрос. Есть ли способ изменить размер шрифта, его стиль, цвет и т.д. на кнопке (QPushButton)? ...

Почему у меня сначала выводится пустое сообщение?
Очень нужна помощь а то второй день вожусь и не могу понять в чем проблема( <?php require_once( "URLChecker.php" ); ...

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

5
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
12.11.2013, 14:55
типа "теорию" почитайте здесь - изменение стилевого правила transform из JS
0
0 / 0 / 0
Регистрация: 24.12.2012
Сообщений: 11
12.11.2013, 16:04  [ТС]
Цитата Сообщение от kalabuni Посмотреть сообщение
типа "теорию" почитайте здесь - изменение стилевого правила transform из JS
Так-так, уже теплее)) Спасибо.

Но опять же вопросы:
строчки из представленого примера со ссылкой на тип браузера пока удалил, так не знаю, как его определять (найденные где-то коды относятся к PHP).
И второе.
цвет выводится не в формате '#FFFFFF', а в виде rgb0, 0, 0) [кстати, не знаю, нужны ли пробелы между цифрами для дальнейшего сравнения данных].
Как результат, не могу добиться, чтобы заработала простая штука:

Java
1
2
3
var F_color = window.getComputedStyle (my_object, null).getPropertyValue ('color');
alert ("F_color: " + F_color); //это работает. Отл!
   if(F_color == 'rgb:(0, 0, 0)') alert("!!!"); //для проверки, работает ли что-то вообще...
Что с пробелами (rgb0, 0, 0)), что без пробелов (rgb0,0,0)) - alert("!!!") не появляется.
Может цвет шрифта в формате '#FFFFFF' помог бы?
0
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
12.11.2013, 17:11
getPropertyValue (как и currentStyle) в разных браузерах будут выдавать значения свойств стиля в том формате, в котором они его хранят

так что '#FFFFFF' - это всего лишь ваше пожелание

можете определить длину строки F_color посредством alert (F_color.length); и тогда сможете сообразить - с пробелами там или без оных
---------

а вообще бы порекомендовал простейшую фишку: если значение mColor у вас пустое (я ориентируюсь на код скрипта в топовом постинге), значит - это было первое обращение к функции toggleBW () и, следовательно, цвет шрифта тот, который в css-файле
и вы можете принудительно прописать туда нужное вам значение через
document.getElementById ('book_contents').style.color = 'нужное_вам';
при следующих обращениях document.getElementById ('book_contents').style.color будет возвращать именно то, что вы туда скриптом прописали
0
Эксперт JSЭксперт HTML/CSS
2436 / 1115 / 312
Регистрация: 23.06.2011
Сообщений: 3,529
12.11.2013, 21:37
Цитата Сообщение от kalabuni Посмотреть сообщение
будет возвращать именно то, что вы туда скриптом прописали
а вот это не гарантировано, правильно это
Цитата Сообщение от kalabuni Посмотреть сообщение
в разных браузерах будут выдавать значения свойств стиля в том формате, в котором они его хранят
так что не нужно задавать цвет именами, и обязательно проверить что получил назад, браузеры могут вернуть и hex и dec, сейчас точно скажу что этим одна из опер грешила, так что дело темное, лучше перестраховаться
0
0 / 0 / 0
Регистрация: 24.12.2012
Сообщений: 11
20.11.2013, 14:11  [ТС]
Вот так заработало (я так и не понял, почему, в результате каких манипуляций - а может просто обновилась МАК-ось):

в HTML
HTML5
1
<button id="BW" podskazka="день/ночь">B/W<script src="js/BW.js"></script></button>
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
function toggleBW(elm, prmtr){
var mElm = document.getElementById(elm);
var B_color = window.getComputedStyle (mElm, null).getPropertyValue ('background-color');
var F_color = window.getComputedStyle (mElm, null).getPropertyValue ('color');
 
   if(F_color == 'rgb(0, 0, 0)'){
      document.getElementById('book_contents').style.color='#F3F3DA';
      document.getElementById('book_contents').style.backgroundColor='#494646';
      disp = 'none'; 
   } else {
      document.getElementById('book_contents').style.color='#000000';
      document.getElementById('book_contents').style.backgroundColor='#EAE8E2';
   }
}
 
document.getElementById('BW').onclick = function() {
    var mID = ['book_contents']; //тут потом "заколлекчу" нужные элементы для смены цветов
    var mParam = 'color'; //, 'backgroundColor'];
    for (i=0; i<mID.length; i++) {
    toggleBW(mID, mParam[i]);
    }
};
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.11.2013, 14:11
Помогаю со студенческими работами здесь

Как можно так же одним махом поменять цвет шрифта одной строки и стиль шрифта на italic (наклонный) ?
Если мне надо в &lt;Table border=1&gt; поменять цвет какой-то одной строки, то я делаю так : ...

Изменение стиля шрифта
Здравствуйте, имеется имеется RichTextBox: &lt;RichTextBox Height=&quot;325&quot; Width=&quot;440&quot; Margin=&quot;-5 0 0 -30&quot; ...

Чтение из текста стиля шрифта
Здравствуйте! Подскажите пожалуйста: Мне нужно сохранить в файл информацию о том, как текст отображается(выделен ли он линией,...

Изменение стиля Шрифта Delphi
if not form2.ToolBar1.Buttons.Down then form2.RichEdit1.SelAttributes.Style:=form2.RichEdit1.SelAttributes.Style+ else ...

Установка стиля и цвета шрифта
procedure TGrafika.StartMenu; begin SetFontSize(25); SetFontColor(color.Gold); SetFontStyle(FontStyleType.fsBold); Можно ли...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru