|
Меню Onclick
Как можно исправить меню выстроенное по событию onmouseover на меню раскрывающееся по клику, причем 2 и 3 подуровни ТОЖЕ ДОЛЖНЫ ОТКРЫВАТЬСЯ ПО КЛИКУ.
листинг :-) navHover = function() { var lis = document.getElementById("navmenu").getElementsByTagName("LI"); for (var i=0; i<lis.length; i++) { lis[i].onmouseover=function() { this.className+=" iehover"; } lis[i].onmouseout=function() { this.className=this.className.replace(new RegExp(" iehover\\b"), ""); } } } if (window.attachEvent) window.attachEvent("onload", navHover); |
onmouseover заменить на onclick :)
|
Не все так просто, пробовал, в этом случае старые уже открытые элементы не закрываются, получается черти что.
|
ну так в вопросе же было "на меню раскрывающееся по клику"
На закрывающееся по второму клику - в вопросе не было! Учитесь правильно формулировать вопросы!!! |
причем 2 и 3 подуровни ТОЖЕ ДОЛЖНЫ ОТКРЫВАТЬСЯ ПО КЛИКУ.
(см. 1 сообщение темы). Ладно, по существу, самому мне кажется что варианта нет, по крайней мере я не знаю. Отсюда другой вопрос: - как прописать в файле css (к этому меню), что бы меню усчезало не сразу после отвода мышки, а была задержка, т.к. проблема появилась из-за того, что меню исчезает сразу как убрали мышку, а менюха многоуровневая, большая. |
navHover = function() { var lis = document.getElementById("navmenu").getElementsByTagName("LI"); for (var i=0,l=is.length; i<l; i++) { lis[i].onclick=function() { var reg = /iehover$/; if (reg.test(this.className)) this.className=this.className.replace(reg, ""); else this.className+=" iehover"; } } } if (window.attachEvent) window.attachEvent("onload", navHover); |
Цитата:
|
for (var i=0,l=lis.length; i<l; i++) {
естественно lis, а не is |
Блин, все вроде написано правильно и красиво, просмотрел вроде все отлично выглядит, а на деле как то ничего не происходит, меню вообще не реагирует
|
ну кинь ссылку на страничку, я посмотрю, где что глючит...
|
Часовой пояс GMT +3, время: 10:24. |
|