Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 24.12.2012
Сообщений: 11

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

12.11.2013, 13:49. Показов 914. Ответов 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
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru