Ik heb een menuutje:
de javascript code:
(overigens moet ik nog ff naar die showLayer-functie kijken, hij moet eerst controleren of die layernaam niet al in het array staat, zoja dan moet ie hem natuurlijk niet toevoegen, maar dat is het probleem nu niet)
Het menu werkt in mozilla prima. In IE werkt het niet goed. Ik heb het idee alsof IE het event dat je de muis van de <ul> naar de <li> van het submenu ook als een onmouseout beschouwd. Het probleem is namelijk, dat hij het menuutje toch afsluit , maw de cleartimer wordt niet (goed) aangeroepen. Wat kan het probleem zijn? De javascript code is in principe gewoon goed, die gebruik ik op een andere pagina ook.
code:
1
2
3
4
5
6
7
8
9
10
11
12
| <ul>
<li onmouseover="hideLayers();">Home</li>
<li onmouseover="hideLayers();">News & Tours</li>
<li onmouseover="hideLayers();showLayer('no1');cleartimer('timeout1')"
onmouseout="timeout('no1','timeout1');">Guestbook</li>
<ul id="no1" onmouseover="cleartimer('timeout1');"
onmouseout="timeout('no1','timeout1')">
<li>Lezen</li>
<li>Reactie plaatsen</li>
</ul>
</li>
</ul> |
de javascript code:
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
26
27
28
29
30
31
| var timer = new Array();
var submenu = new Array();
function cleartimer(which) {
if (timer[which])
{
clearTimeout(timer[which]);
timer[which] = null;
}
}
function timeout(layername,which) {
timer[which] = window.setTimeout('hideLayer(\''+layername+'\')', 1000);
}
function hideLayers() {
for (i = 0; i <= submenu.length-1; i++) {
layer = document.getElementById(submenu[i]);
layer.style.display = 'none';
}
}
function hideLayer(layer) {
document.getElementById(layer).style.display = 'none'
}
function showLayer(layer) {
submenu[submenu.length] = layer;
layer = document.getElementById(layer);
layer.style.display = 'block';
} |
(overigens moet ik nog ff naar die showLayer-functie kijken, hij moet eerst controleren of die layernaam niet al in het array staat, zoja dan moet ie hem natuurlijk niet toevoegen, maar dat is het probleem nu niet)
Het menu werkt in mozilla prima. In IE werkt het niet goed. Ik heb het idee alsof IE het event dat je de muis van de <ul> naar de <li> van het submenu ook als een onmouseout beschouwd. Het probleem is namelijk, dat hij het menuutje toch afsluit , maw de cleartimer wordt niet (goed) aangeroepen. Wat kan het probleem zijn? De javascript code is in principe gewoon goed, die gebruik ik op een andere pagina ook.