Web-TorMedlem sedan nov. 200013 890 inlägg Jag håller på med en enkel meny (IE6+) men har stött på ett problem. Den funkar fint men har några problem med setTimeout().
Kör man nedanstående exempel så kan man få upp flera submenyer samtidigt om man drar muspekaren snabbt över menyn. Detta kan jag åtgärda genom att använda clearTimeout() som är bortkommenterad i koden. Problemet är att om man använder den raden så öppnas inte nivå 3 i menyn.
Vore oerhört tacksam om någon kunde ge mig ett tips. :)
Länk till menyn
Koden är bara ett exempel som jag kopierat från den riktiga miljön så vissa saker kanske verkar onödigt krångliga men de behövs i verkligheten. ;)
Web-TorMedlem sedan nov. 200013 890 inlägg Man måste kanske ha en unik timer för varje submeny, eller? :q
Jag har testat med detta men det gör inte någon skillnad
objSource.timer=window.setTimeout(open,200);
Peter SMedlem sedan dec. 20025 483 inlägg Testa med en cancelBubble:
function openSubLevel(objSource){
window.event.cancelBubble = true;
...
Web-TorMedlem sedan nov. 200013 890 inlägg Japp, märkte också det.
Jag fick dessutom spara undan objSource i en top-variabel och läsa av varje gång clearTimeout() skulle köras.
Problemet är bara att det var snyggt när jag inte hade cancelBubble eftersom det aktiva menyvalet "lyser" när man har musen över och då fick man en spårbarhet i menyn på köpet. :)
Jag kan inte heller förstå varför cancelBubble bara ställde till problem på tredje nivån och inte på andra?