Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Не могу написать норм прогу (события)!!! (https://javascript.ru/forum/misc/6713-ne-mogu-napisat-norm-progu-sobytiya.html)

ego 16.12.2009 19:06

Не могу написать норм прогу (события)!!!
 
В общем есть менюшка, которая является табличкой 1X7.
Каждая строка(соответсвенно и ячейка) содержит в себе отдельный элемент менюшки (т.е отдельную ссылку). Вот страюсь уже давно написать прогу, чтобы при наведении на любой из элементов менюшки менялся цвет. но получается сделать такое только с первым элементом или ваще ни с чем :(

Содержимое файла index.php:

...
<head>
<script type="text/javascript" src="effect.js" ></script>
</head>
....
<table class="catalog" width="100%" height="100%" cellspacing="0" cellpadding="0">
 <tbody>

 <tr id="tra" onmouseover="over();" onmouseout="out();" >
 <td><a href="#" title="" class="id">Элемент1</a></td></tr>
<tr id="tra" onmouseover="over();" onmouseout="out();" ><td><a href="#" title="" class="id">Элемент2</a></td></tr><!-- ТАК ВЫДАЕТ ОШИБКУ -->
...
 </tbody>
  </table>


содержимое файла effect.js:

...
function over(){
	tra.style.backgroundColor='#a5d369';
}
function out(){
	tra.style.backgroundColor='#cdeda3';
}
...
Помогите написать мне плиз правильную прогу!!! Я новичек в Яваскрипте, много чего в нем не понятно...

PeaceCoder 16.12.2009 19:26

<tr onmouseover="over(this);" onmouseout="out(this);">

function over(e){
    e.style.backgroundColor='#a5d369';
}
function out(e){
    e.style.backgroundColor='#cdeda3';
}

subzey 16.12.2009 23:01

Ну, во-первых, id в документе должны быть уникальными.
Во-вторых, tr не является отображаемым элементом, задник лучше менять у td.
А в-третьих, сделайте ссылку display:block и меняйте задник через css безо всякого яваскрипта.


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