Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ошибка: Непонятное сообщение инспектора объектов 
V
    Опции темы
svlary
Дата 19.8.2015, 11:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 207
Регистрация: 8.9.2009

Репутация: нет
Всего: 4



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

Код

<td onmouseover="this.setAttribute(bgColor, 0x00FF00)">Данные в ячейке</td>


Ничего не происходит, а инспектор объектов выдаёт сообщение об ошибке:

Код

InvalidCharacterError: String contains an invalid character



И как бы я не пытался изменить второй параметр, он на него ругается. Если пишу green, то ошибка - переменная green не описана. Если пишу 'green', то опять - недопустимые символы.
Если совсем убираю второй параметр:

Код

<td onmouseover="this.setAttribute(bgColor)">Данные в ячейке</td>


то выдаётся сообщение

Код

TypeError: Not enough arguments to Element.setAttribute.


что вполне разумно...

Что я делаю не так?
PM MAIL   Вверх
Sartorius
Дата 19.8.2015, 11:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1568
Регистрация: 18.7.2006
Где: Ivory tower

Репутация: нет
Всего: 37



Код

<td onmouseover='this.setAttribute("bgColor", "0x00FF00")'>Данные в ячейке</td>

PM MAIL ICQ   Вверх
svlary
Дата 19.8.2015, 13:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 207
Регистрация: 8.9.2009

Репутация: нет
Всего: 4



Спасибо за ответ!

 Так действительно, сообщений об ошибках не выдаётся. Но цвет фона не меняется :-(
Хотя инспектор объектов, показывает (когда я провожу курсором мышки над ячейкой), что значение этого свойства действительно изменяется!
Может нужно какой-то refresh()  поставить ?
PM MAIL   Вверх
ksnk
Дата 19.8.2015, 13:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 48
Всего: 386



Цвет в строковом представлении записывается не черех 0x..., а через #
Код

<td onmouseover='this.setAttribute("bgColor", "#00FF00")'>Данные в ячейке</td>



--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
Sartorius
Дата 19.8.2015, 16:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1568
Регистрация: 18.7.2006
Где: Ivory tower

Репутация: нет
Всего: 37



Цитата(ksnk @  19.8.2015,  14:30 Найти цитируемый пост)
Цвет в строковом представлении записывается не черех 0x..., а через #

Хах А я даже не заметил Причем Хром парсит и 0x
PM MAIL ICQ   Вверх
svlary
Дата 20.8.2015, 11:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 207
Регистрация: 8.9.2009

Репутация: нет
Всего: 4



Записал сейчас эту строку в виде :

Код

<td onmouseover='this.setAttribute("bgColor","#00FF00")' onmouseout='this.setAttribute("bgColor","#FF0000")'>Данные в ячейке</td>


Когда провожу курсором мыши над ячеёкой, то инспектор объектов показывает, что свойство bgColor ячейки реально меняется. Но визуально это никак не проявляется.
Может быть дело в том, что у меня в стилях записано:

Код

td {                                                                                                                                     
  padding: 5;                                                                                                                      
  background-color: #BFBFBF;                                                                                                       
}


И динамически это изменить невозможно ? Браузер - Firefox 25.0.1                                                                                                                                        

PM MAIL   Вверх
ksnk
Дата 20.8.2015, 11:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 48
Всего: 386



Значение в атрибуте слабее, чем значение в стиле. Нужно стиль править
Код

<td onmouseover='this.style.backgroundColor="#00FF00";' onmouseout='this.style.backgroundColor="#FF0000";'>Данные в ячейке</td>



--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
svlary
Дата 20.8.2015, 12:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 207
Регистрация: 8.9.2009

Репутация: нет
Всего: 4



Цитата(ksnk @  20.8.2015,  11:54 Найти цитируемый пост)
Значение в атрибуте слабее, чем значение в стиле. Нужно стиль править


Исправил. Всё заработало...  smile 
А я думал, что JavaScript - простой язык...

Спасибо за ответ!
PM MAIL   Вверх
Sartorius
Дата 20.8.2015, 13:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1568
Регистрация: 18.7.2006
Где: Ivory tower

Репутация: нет
Всего: 37



Почему бы тогда через CSS не сделать просто? )) Раз уж есть какой-то CSS для таблицы...
http://www.w3schools.com/cssref/sel_hover.asp
PM MAIL ICQ   Вверх
svlary
Дата 21.8.2015, 09:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 207
Регистрация: 8.9.2009

Репутация: нет
Всего: 4



Да, действительно - очень просто!
Спасибо за совет!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1400 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.