Как узнать родительский элемент?
Всем доброго времени суток!
Вопрос от новичка в JS: Есть горизонтальное меню с выпадающим подменю организаваное через ul-li. Стандартным CSS получается иметь всегда выделенный только один элемент под курсором при помощи hover. Я хочу оставлять выделенным пункт меню при переходе на подменю. Для этого мне нужно пункту меню поменять свойство. Статически это решено так: <ul class="menu" id="main-menu"> <li name="about"><a href="#">Телефоны</a> <ul> <li onmouseover="mv(1)" onmouseout="mv(2)"><a href="/">Nokia</a></li> ... function mv(i) {if (document.) switch (i) { case 1: pr=document.getElementsByName('about')[0]; pr.style.backgroundColor='#ffffff'; brake; case 2: pr=document.getElementsByName('about')[0]; pr.style.backgroundColor='transparent'; } } Но как можно это сделать гибче, чтобы каждому li не прописывать onmouseover и onmouseout... Я понимаю, что в функции нужно определять, если активен элемент из подменю, то подняться на уровень выше и поменять у родителя свойство, и если он теряет фокус мыши то отменять установленное свойство...но я не знаю как определить, что выбран элемент подменю (хотя можно использовать ID для каждого подменю элемента, но тогда пропадает универсальность). Хотелось бы иметь код, привязанный только к такой структуре <ul class="menu" id="main-menu"> <li> <ul> <li></li> <li></li> </ul> </li> </ul> -------------------------------------------------------------------- Best regards. Alex |
Цитата:
|
Ksa, спасибо, но в таком случае всех в форуме можно направлять почитать доку или порыться в инете, купить умную книгу...
Хорошо, я тогда конкретизирую вопрос: Есть родительский объект с классом "MyClass" и ID="MyID" (первый уровень) на странице с вложенными объектами на 3 уровня. 1. Можно ли перехватить наведение/выход мыши на объект третьего уровня, не прописывая на этом уровне обработчик событий onmouseover/onmouseout 2. Как определить родителя 2 уровня , при наведении/выход мыши на.с объект третьего уровня... Желательно чтобы функция отрабатывала только для дочерних объектов "MyID". |
Цитата:
Цитата:
|
Ksa, я нашел те функции JS которые мне были нужны...но только в доке по JS, а не в примерах, выложеных в инет.
но, прошу учесть: 1. Я не буду искать и копировать код, который я не знаю, что он эффективен а на разбор чужого написанного кода, уйдет во много раз больше времени, чем получить интересующий ответ у ЗНАЮЩИХ людей. 2 создавая код под себя, я решаю вопрос с пониманием кода и если необходимо, то быстрого нахождения и фикса слабых мест, если такие обнаружатся...а также написание тест кейсов, доки и правильных коментов 3 Если бы один создавал, а другие только пользовались, то писали бы девелоперы на одном языке программирования... и ждали выхода патча для устранение багов.... 4. ну и последнее... Форумы создаются для того, чтобы оперативно спросить людей знающих быстрой помощи, а не для того чтобы выслушивать бесполезные поучающие советы ... Всего наилучшего. ----------------- Alex |
Ты специалист - тебе видней... :D
|
Цитата:
|
Часовой пояс GMT +3, время: 14:47. |