Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Изменением цвета рядка таблицы по onMouseOver - проблема (https://javascript.ru/forum/dom-window/27264-izmeneniem-cveta-ryadka-tablicy-po-onmouseover-problema.html)

Flashbacks 07.04.2012 15:30

Изменением цвета рядка таблицы по onMouseOver - проблема
 
Ребята, помогите пожалуйста.

Есть таблица, колонки из 2-х чередующихся цветов.
Для этого установлен дефолтный цвет таблицы, а в нужных колонках явно указывается цвет.

Упрощенно, убрав всё лишнее:

Код:

<table bgcolor=#AAAAAA>

 <tr>
  <td bgcolor=#BBBBBB> Колонка 1 </td>
  <td> Колонка 2</td>
  <td bgcolor=#BBBBBB> Колонка 3</td>
  <td> Колонка 4</td>
  <td bgcolor=#BBBBBB> Колонка 5</td>
 </tr>;

</table>

То есть все колонки цвета #AAAAAA, а те в которых указано - цвета #BBBBBB (т.е. колонки 1,3,5)
Таких рядков много, они формируются php скриптом исходя из результата запроса к базе данных.

Далее нужно сделать, чтобы при наведении мышкой на рядок, цвет рядка менялся на третий - #CCCCCC.
Для этого я использовал javascript операторы onMouseOver и onMouseOut:

Код:

<tr onmouseover="style.backgroundColor='#CCCCCC'"
    onmouseout="style.backgroundColor='' >

То есть по идее при наведении на рядок мышкой, его цвет должен становиться CCCCCC, при отводе мышки - тем который был до этого (#AAAAAA или #BBBBBB).

Но происходит не совсем так - колонки, имеющие дефолтный цвет таблицы, меняют цвет на новый и обратно.
Те же колонки, в которых цвет указан дополнительно в теге <td>, не реагируют на функцию в родительском теге <tr> и остаются своего цвета.

Подскажите пожалуйста, как заставить это работать? Может правильный способ другой?

GuardCat 07.04.2012 22:30

Перенесите bgcolor из td в tr. А лучше опишите это в css (:nth-child). Да, и цвет при наведении тоже лучше менять :через css. hover поищите на том же сайте.

Flashbacks 08.04.2012 14:52

Спасибо за ответ! css.hover действительно лучше и удобнее в этом случае.


Часовой пояс GMT +3, время: 05:12.