Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   меняющаяся кнопочка (https://javascript.ru/forum/dom-window/1878-menyayushhayasya-knopochka.html)

magistr_bender 28.09.2008 23:50

меняющаяся кнопочка
 
вроди бы просто, но неполучается чтото...
короче пытаюсь сделать чтоб при наведении на кнопку менялся её стиль(а именно бэкграунд)
вот короче сам код
<script language="JavaScript" type="text/javascript">
img1 = "skins/{theme}/images/but_focus.png";
img2 = "skins/{theme}/images/but_no.png";

function changebut(id) {
eval("document.getElementById('b_'+id).class = "b-style-2");
}

</script>

и код вызова

<td class="b-style-1" id="b_1" width="136"><a href="index.php" class="nlink" id="1" onmouseover="changebut(this.id)">Главная</a></td>

в чём суть... а в том, что при наведении на линк стиль b-style-1 должен поменяться на стиль b-style-2 (там отличаются только свойства background-image) может можно это сделать через .style но тогджа как описываеться бэкграунд-имэдж?

Андрей Параничев 28.09.2008 23:55

magistr_bender,
Вам нужно изменять свойство "className" элемента. Кроме того, из обработчика можно передать сам элемент, а не его id:
<script language="JavaScript" type="text/javascript">
img1 = "skins/{theme}/images/but_focus.png";
img2 = "skins/{theme}/images/but_no.png";
 
function changebut(obj) {
    obj.className = "b-style-2";
}
 
</script>


<td class="b-style-1" id="b_1" width="136"><a href="index.php" class="nlink" id="1" onmouseover="changebut(this)">Главная</a></td>


p.s.:
Давать классам и идентификаторам элемента имена, начинающиеся с цифр - неправильно.

magistr_bender 28.09.2008 23:59

я знаю что неправильно.. просто это для примера...
только дело в том что мне надо передавать не тот объект) при наведении на <a> мне надо передать знаачение в <td> по этому и использую id
а вообще за саму идею спасибо)


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