|
06.08.2008, 10:57
|
|
Меню 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);
Последний раз редактировалось Андрей Параничев, 06.08.2008 в 14:51.
Причина: Пользуйтесь bb-кодами для оформления листингов кода в теле сообщения
|
|
06.08.2008, 11:15
|
Флудер
|
|
Регистрация: 25.07.2008
Сообщений: 1,271
|
|
onmouseover заменить на onclick
|
|
06.08.2008, 13:41
|
|
Не все так просто, пробовал, в этом случае старые уже открытые элементы не закрываются, получается черти что.
|
|
06.08.2008, 14:00
|
Флудер
|
|
Регистрация: 25.07.2008
Сообщений: 1,271
|
|
ну так в вопросе же было "на меню раскрывающееся по клику"
На закрывающееся по второму клику - в вопросе не было!
Учитесь правильно формулировать вопросы!!!
|
|
06.08.2008, 14:30
|
|
причем 2 и 3 подуровни ТОЖЕ ДОЛЖНЫ ОТКРЫВАТЬСЯ ПО КЛИКУ.
(см. 1 сообщение темы).
Ладно, по существу, самому мне кажется что варианта нет, по крайней мере я не знаю.
Отсюда другой вопрос:
- как прописать в файле css (к этому меню), что бы меню усчезало не сразу после отвода мышки, а была задержка, т.к. проблема появилась из-за того, что меню исчезает сразу как убрали мышку, а менюха многоуровневая, большая.
|
|
06.08.2008, 14:56
|
Флудер
|
|
Регистрация: 25.07.2008
Сообщений: 1,271
|
|
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);
|
|
06.08.2008, 15:13
|
|
Сообщение от ZoNT
|
for (var i=0,l=is.length; i<l; i++) {
|
В условии точно все верно?
|
|
06.08.2008, 16:06
|
Флудер
|
|
Регистрация: 25.07.2008
Сообщений: 1,271
|
|
for (var i=0,l=lis.length; i<l; i++) {
естественно lis, а не is
|
|
06.08.2008, 18:14
|
|
Блин, все вроде написано правильно и красиво, просмотрел вроде все отлично выглядит, а на деле как то ничего не происходит, меню вообще не реагирует
|
|
06.08.2008, 18:33
|
Флудер
|
|
Регистрация: 25.07.2008
Сообщений: 1,271
|
|
ну кинь ссылку на страничку, я посмотрю, где что глючит...
|
|
|
|