Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Действия при наведении на элемент (https://javascript.ru/forum/dom-window/11434-dejjstviya-pri-navedenii-na-ehlement.html)

Garik 23.08.2010 19:30

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

function t(obj,elem,text) {
x=obj.style;
x[elem]="none";
document.getElementById('test').innerHTML = '<span>'  + text + '</span>';
}

function t2(obj,elem,img) {
x=obj.style;
x[elem]="url(img/"+img+")";
document.getElementById('test').innerHTML = '';
}


<div id="test" style="width:100px;height:100px;background-image:url(img/3.jpg);background-color:#0293DD;" onmouseover="t(this,'backgroundImage','текст для вставки')" onmouseout="t2(this,'backgroundImage','3.jpg')"></div>


В принципе все работает, но при наведении курсора на текст, срабатывает событие onmouseout и появляется исходная картинка. Собственно вопрос, как мне сделать чтобы при наведении на текст ничего не происходило. А менялось только тогда, когда курсор уводится с самого фона. Заранее спасибо!

Sweet 23.08.2010 20:04

Пусть mouseout делает проверку target

Garik 23.08.2010 20:22

А можно подробнее как им пользоваться. Прописал следующее, но все равно, как только курсор попадает на текст, появляется исходная картинка:

onmouseout="k=event.target||event.srcElement; t2(this,'backgroundImage','3.jpg')"

Sweet 23.08.2010 20:56

Цитата:

Сообщение от Garik
onmouseout="k=event.target||event.srcElement; t2(this,'backgroundImage','3.jpg')"

Гениально! Странно, что не работает...

Garik 23.08.2010 21:14

А если без стеба?

inGray 23.08.2010 22:10

Думаю, вот это поможет Вам избежать стёба Sweet-а ;)
Так, как Вы написали, работать не будет.

Garik 24.08.2010 20:11

Спасибо, почитаю


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