Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Почему сообщение пустое?

248
12 ноября 2013 года
Dmitry2064
590 / / 06.12.2006
Не пойму, как увидеть цвет шрифта скриптом.

 
Код:
function toggleBW(){
var mColor = document.getElementById('book_contents').style.color;
alert(mColor);
}

document.getElementById('BW').onclick = function() {
    toggleBW();
};
Сообщение выскакивает пустым (правда, часа три вообще ничего не выскакивало)))
p.s. Свойства "book_contents" записаны во внешнем файле стилей.
1
12 ноября 2013 года
kot_
7.3K / / 20.01.2000
а свойство color установлено?
8
12 ноября 2013 года
mfender
3.5K / / 15.06.2005
Есть у меня смутное подозрение, что ты вообще всё попутал насмерть. У тебя функция внутри функции вызывает функцию выше. Непонятно как ты через три часа добился, чтобы вообще что-то "выскакивало".
248
12 ноября 2013 года
Dmitry2064
590 / / 06.12.2006
Цитата: kot_
а свойство color установлено?


сначала наследовалось, теперь руками в стиле написал color:#000000;
все равно пишет undefined. Если пишу цвет словом whitebkb black и через String вытаскиваю (а было через parseInt) то все равно indefined (bkb NaN, или пустое окно или вообще окно не появляется.

А функция из функции вызывается - это на будущее, чтобы можно было подставлять разные id и разные параметры. (структуру выудил из какого-то другого примера иностранного дядьки. Вообще все это должно срабатывать при нажатии на кнопку с ID = BW. (я тут перебрал кучу вариантов сочетаний функций-подфункций и где их вызывать из HTML'a). Вобщем в голове уже каша, но так пока работает, хоть и без верного результата (боюсь лишний раз трогать))

8
12 ноября 2013 года
mfender
3.5K / / 15.06.2005
Цитата: Dmitry2064

А функция из функции вызывается - это на будущее, чтобы можно было подставлять разные id и разные параметры. (структуру выудил из какого-то другого примера иностранного дядьки. Вообще все это должно срабатывать при нажатии на кнопку с ID = BW. (я тут перебрал кучу вариантов сочетаний функций-подфункций и где их вызывать из HTML'a). Вобщем в голове уже каша, но так пока работает, хоть и без верного результата (боюсь лишний раз трогать))



Не вызывается функция из функции, если не вызвать внешнюю функцию. Проще говоря: ты привёл не весь код, из него не ясно что вообще инициирует toggleBW().

248
12 ноября 2013 года
Dmitry2064
590 / / 06.12.2006
В HTML'e написано так:

 
Код:
<button style="padding-bottom: 5px;" id="BW" >BW<script src="js/BW.js"></script></button>
То есть при щелчке на кнопке должна выполниться функция toggleBW
Теперь я в нее добавил параметры:

Код:
function toggleBW(elm, prmtr){

//тут я просто проверяю: что-то вообще происходит или нет.
alert('element: ' + elm);
alert('parametr: ' + prmtr);

var mElm = document.getElementById(elm);
var mColor = String(mElm.style.prmtr);
alert(mColor); //тут ШИШ))

document.getElementById('BW').onclick = function() {
    toggleBW('book_contents', 'color');
};
И весь этот код записан в файле js/BW.js.
1
13 ноября 2013 года
kot_
7.3K / / 20.01.2000
Используй файребаг и посмотри что происходит
443
15 ноября 2013 года
REmindER
292 / / 23.03.2003
 
Код:
function toggleBW(elm, prmtr){
                       ^^^^^
...

var mColor = String(mElm.style.prmtr);
                               ^^^^^
...
};
Facepalm. А потом эти горе-разработчики пишут монстроподобные конструкции с jQuery. Извините, не удержался.

Цитата:
Свойства "book_contents" записаны во внешнем файле стилей.


Что такое computed style вообще в курсе?

 
Код:
window.getComputedStyle(document.getElementById(elm)).getPropertyValue(prmtr);
 
Код:
document.getElementById('BW').onclick = function() {
    toggleBW();
};
Этапять. function a1(){...}; function a2(){a1();};.. function an(){an-1();}; ...onClick = function(){an();};
248
20 ноября 2013 года
Dmitry2064
590 / / 06.12.2006
Почитал ответ о REmindER и согласен в части проклятий по поводу моей квалификации - она никакая (((.
Как следствие, я не понял дальнейшие записи.

Особенно строчку
Этапять. function a1(){...}; function a2(){a1();};.. function an(){an-1();}; ...onClick = function(){an();};

Что значит "Этапять"? Сленг? Сокращение? Опечатка?)) А сама строка - это образец как надо или как не надо? И что именно "надо-не надо"?
Хотя основной месседж понятен - "учите матчасть" )))
248
20 ноября 2013 года
Dmitry2064
590 / / 06.12.2006
Вот так заработало:
в HTML

 
Код:
<button id="BW" podskazka="день/ночь">BW<script src="js/BW.js"></script></button>
Код:
function toggleBW(elm, prmtr){
 //alert(elm);
 //alert(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]);
    }
};
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог