javascript werkt niet
Ik wil een dropdown menu maken dat ik ergens gevonden heb maar het werkt niet.
Ik heb het getest in IE en Google Chrome en op allebei werkt het niet.
hier is het script:
<script language="javascript">
var timeout = 500;
var closetimer = 0;
var ddmenuitem = 0;
// open hidden layer
function mopen(id)
{ // cancel close timer
mcancelclosetime();
// close old layer
if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
// get new layer and show it
ddmenuitem = document.getElementById(id);
ddmenuitem.style.visibility = 'visible';
}
// close showed layer
function mclose()
{
if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
}
// go close timer
function mclosetime()
{
closetimer = window.setTimeout(mclose, timeout);
}
// cancel close timer
function mcancelclosetime()
{
if(closetimer)
{
window.clearTimeout(closetimer);
closetimer = null;
}
}
// close layer when click-out
document.onclick = mclose;
</script>
<div id="menu" onmouseover="mopen('box')"
onmouseout="mclosetime()" style="left: 100px;">
<a id="menu" style="left: 2px;">link</a>
<a id="menu" style="left: 112px;">link</a>
<a id="menu" style="left: 222px;">link</a>
<a id="menu" style="left: 332px;">link</a>
<a id="menu" style="left: 442px;">link</a>
<a id="menu" style="left: 552px;">link</a>
<a id="menu" style="left: 662px;">link</a>
<a id="menu" style="left: 772px;">link</a>
<div id="box" onmouseover="mcancelclosetime()"
onmouseout="mclosetime()"><a id="box"
style="top: 37px;">sublink</a>
<a id="box" style="top: 56px;">sublink</a>
<a id="box" style="top: 75px;">sublink</a>
<a id="box" style="top: 94px;">sublink</a>
<a id="box" style="top: 113px;">sublink</a>
<a id="box" style="top: 132px;">sublink</a>
</div>
Ik heb het getest in IE en Google Chrome en op allebei werkt het niet.
hier is het script:
<script language="javascript">
var timeout = 500;
var closetimer = 0;
var ddmenuitem = 0;
// open hidden layer
function mopen(id)
{ // cancel close timer
mcancelclosetime();
// close old layer
if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
// get new layer and show it
ddmenuitem = document.getElementById(id);
ddmenuitem.style.visibility = 'visible';
}
// close showed layer
function mclose()
{
if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
}
// go close timer
function mclosetime()
{
closetimer = window.setTimeout(mclose, timeout);
}
// cancel close timer
function mcancelclosetime()
{
if(closetimer)
{
window.clearTimeout(closetimer);
closetimer = null;
}
}
// close layer when click-out
document.onclick = mclose;
</script>
<div id="menu" onmouseover="mopen('box')"
onmouseout="mclosetime()" style="left: 100px;">
<a id="menu" style="left: 2px;">link</a>
<a id="menu" style="left: 112px;">link</a>
<a id="menu" style="left: 222px;">link</a>
<a id="menu" style="left: 332px;">link</a>
<a id="menu" style="left: 442px;">link</a>
<a id="menu" style="left: 552px;">link</a>
<a id="menu" style="left: 662px;">link</a>
<a id="menu" style="left: 772px;">link</a>
<div id="box" onmouseover="mcancelclosetime()"
onmouseout="mclosetime()"><a id="box"
style="top: 37px;">sublink</a>
<a id="box" style="top: 56px;">sublink</a>
<a id="box" style="top: 75px;">sublink</a>
<a id="box" style="top: 94px;">sublink</a>
<a id="box" style="top: 113px;">sublink</a>
<a id="box" style="top: 132px;">sublink</a>
</div>
Kun je je code tussen tags zetten en de titel misschien iets duidelijker maken?
En wat zegt de foutconsole in Chrome/Firefox (Ctrl+Shift+J)?
Al je divs hebben hetzelfde id. Een id moet uniek zijn per pagina.




