Ondanks searches hier en via Google heb ik de oplossing op mijn probleem niet gevonden.
Ik heb mijn menu opgebouwd met ul's en li's (zodat deze in een tekstbrowser ook goed te zien is) maar ik heb een probleem. Onder een aantal menu-items hangt een div met daarin weer een UL (en li's die menu items bevatten). De display property van deze divs zet ik dmv javascript op 'none' en 'block', zodat ik het idee van een uitklapmenu verkrijg.
code menu (tenminste wat mijn php ervan maakt):
javascript dinges:
In Firefox (1.0) werkt dit dus perfect. In IE 6 opzich ook wel, alleen is er een 'ruimte' te zien op de plek van de divs als deze ingeklapt zijn (display: none). Dit wil ik graag weghebben. Iemand een idee hoe ik dit kan doen?
Ik heb mijn menu opgebouwd met ul's en li's (zodat deze in een tekstbrowser ook goed te zien is) maar ik heb een probleem. Onder een aantal menu-items hangt een div met daarin weer een UL (en li's die menu items bevatten). De display property van deze divs zet ik dmv javascript op 'none' en 'block', zodat ik het idee van een uitklapmenu verkrijg.
code menu (tenminste wat mijn php ervan maakt):
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
| <ul class='hoofdmenu'> <li class='hoofdmenu'><a href='index.php?rubr=2' class='hoofdmenu'>Home</a> <li class='hoofdmenu'><a href='#' class='hoofdmenu' onclick="showSubmenu('submenu1');">Portfolio</a> <div id='submenu1' style='display: none;'> <ul class='hoofdmenu'> <li class='hoofdmenu'><a href='portfolio.php?rubr=6' class='submenu'>Webdesign</a> <li class='hoofdmenu'><a href='fotoindex.php?rubr=8' class='submenu'>Fotografie</a> </ul> </div> <li class='hoofdmenu'><a href='#' class='hoofdmenu' onclick="showSubmenu('submenu2');">Informatie </a> <div id='submenu2' style='display: none;'> <ul class='hoofdmenu'> <li class='hoofdmenu'><a href='index.php?rubr=16' class='submenu'>Over mij</a> <li class='hoofdmenu'><a href='index.php?rubr=17' class='submenu'>Apparatuur</a> <li class='hoofdmenu'><a href='index.php?rubr=19' class='submenu'>Deze website</a> </ul> </div> <li class='hoofdmenu'><a href='formulier.php?rubr=5' class='hoofdmenu'>Contact </a> </ul> |
javascript dinges:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
| function showSubmenu(menu)
{
obj = document.getElementById(menu);
if (obj.style.display == 'none')
{
obj.style.display = 'block'
}
else
obj.style.display = 'none';
}
function hideSubmenus()
{
for (i = 0; i < menus.length; i++)
{
obj = 'submenu' + menus[i];
if (document.getElementById(obj))
{
element = document.getElementById(obj);
//alert (element.style.visibility);
obj.style.display = 'none';
}
}
} |
In Firefox (1.0) werkt dit dus perfect. In IE 6 opzich ook wel, alleen is er een 'ruimte' te zien op de plek van de divs als deze ingeklapt zijn (display: none). Dit wil ik graag weghebben. Iemand een idee hoe ik dit kan doen?