Lid |
|
Hallo!
Ik als enorme noob beginnende javascripter, heb een probleem
Ik wil graag een uitklapmenuutje maken, als ik dit met een combinaties van 3 functies doe, dan werkt dat zeer goed, tot ik met een sub-submenu zit dan raakt alles in de war, dus wou ik alles herschrijven tot 1 functie. ik zit nog maar net in het begin van die functie en ik kom al een probleem tegen.
function menuAlgorithm(id, nID) {
var element = document.getElementById(id);
var target = document.getElementById(nID);
target.style.display = "block";
var time;
element.onmouseout = function () {
time = setTimeout("document.getElementById('"+nID+"').style.display = 'none';", 3000);
};
target.onmouseover = function () {
clearTimeout(time);
}
}
function menuAlgorithm(id, nID) { var element = document.getElementById(id); var target = document.getElementById(nID); target.style.display = "block"; var time; element.onmouseout = function () { time = setTimeout("document.getElementById('"+nID+"').style.display = 'none';", 3000); }; target.onmouseover = function () { clearTimeout(time); } }
dat is dus die functie, alles werkt zoals het hoort, behalve de laatste regel.
hij voert de timeout van element.onmouseout zeer goed uit, maar de bedoeling is dan, dat als de gebruiker met zijn muis op het submenu gaat staan(target) dat die timeout dan niet meer uitgevoerd word. ze zijden mij in de chat dat dat met clearTimeout kon. dus deed ik dat, zoald ik al zei werkte dat in aparte functies goed maar nu dus niet.
Ik hoop dat iemand hier de fout kan zien? en alle andere tips over js zijn natuurlijk ook welkom! hoe rapper ik het zelf kan hoe beter!
edit: ik weet niet hoe ik het gedaan heb maar nu werkt het wel!
Met vriendelijke groeten
Anton Vandeghinste
|