Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Релизация #nav li:hover .preview на JavaScript (https://javascript.ru/forum/events/5590-relizaciya-nav-li-hover-preview-na-javascript.html)

yolka 25.10.2009 13:18

Релизация #nav li:hover .preview на JavaScript
 
Возникла проблема реализовать, нижеприведенную CSS инструкцию на JS.

#nav li:hover .preview {
	display: block;
}


если бы второй элемент был идентификатор, а не класс, то можно было бы подобраться как-то так:
document.getElementById('pr').style.display='block';
и повесить обработчки события onmouseover(); но вот засада стоит класс.

Может кто-то сталкивался с такой проблемой или знает как эту CSS связку реализовать на JS.

Riim 25.10.2009 13:36

Цитата:

Сообщение от yolka
если бы второй элемент был идентификатор, а не класс

http://ejohn.org/blog/getelementsbyc...ed-comparison/

yolka 25.10.2009 13:47

Riim я уже видела эти примеры, и на этом сайте пример Dustin Diaz's getElementsByClass есть, но как мне к.л. из этих функций с этой #nav li:hover .preview последовательностью связать?
У меня для этого не хватает покак знаний)) покажите если не сложно :-?

Riim 25.10.2009 13:51

Результат getElementsByClassName перебрать в цикле, навешивая обработчики mouseover и mouseout.

Octane 25.10.2009 14:13

Нужно получить все элементы .preview внутри элемента списка, когда на него наводят указатель мыши? Тогда как-то так:
document.getElementById("nav").onmouseover = function(event) {
    event = event || window.event;
    var target = event.target || event.srcElement;
    if(target.nodeName == "LI") {
        var elements = target.getElementsByClassName("preview");
    }
};

Порядок срабатывания событий

yolka 25.10.2009 14:39

Octane гениальное решение, в жизни бы не додумалась. Огромное спасибо:yes:


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