29. marts 2005 - 20:50Der er
9 kommentarer og 2 løsninger
OnMouseOut trigger ikke når musen føres over hurtigt
Jeg har lavet en menu der består af en række små billeder der skifter vha en funktion der trigges af onmouseover og onmouseout -f.eks:
function kontakt0(){document.getElementById('kontakt').innerHTML = "<img src=\"billeder/kontakt%201.gif\" OnMouseOver=\"kontakt1()\">"; }
function kontakt1(){document.getElementById('kontakt').innerHTML = "<img src=\"billeder/kontakt%202.gif\" OnMouseOut=\"kontakt0()\" (her er også en onclick der kalder en kontakt3() -der er en yderligere udbygget innerhtml-funktion med undermenupunkter -hvilket er årsagen til at jeg bruger denne opbygning istedet for en enklere -men denne del virker fint) >"; }
når musen føres over i normalt tempo fungerer alt som det skal, men føres musen hurtigt er det som om kun onmouseover trigges -dvs kontakt1- kaldes, men her når onmouseout -dvs kontakt0 -ikke at blive kaldt. -hvad kan det skyldes, og hvordan kan det afhjælpes (jeg vil gerne beholde min nuværende konstruktion hvis det er muligt)
Danmark vil mindske afhængigheden af globale techgiganter, men det kræver mere end politiske formuleringer og strategier, understreger PROSA’s formand Niels Bertelsen.
function kont(pic,id){ pic.src = "billeder/kontakt%20" + id + ".gif"; if(id==3){ //kode, som viser underpunkter, f.eks. document.getElementById('kontaktUnderpunkter').style.display = 'block'; }else{ //kode, som skjuler underpunkter, f.eks. document.getElementById('kontaktUnderpunkter').style.display = 'none'; } }
Beklager den lange tid det tog mig at vende tilbage -jeg blev inspireret af jeres indlæg til en løsning der ser ud til at fungere:
function kontakt1(){document.getElementById('kontakt').innerHTML = "<a href=\"#\" OnMouseOver=\"document.images.kontaktgif.src='billeder/kontakt%202.gif'\" OnMouseOut=\"checkmenu()\" OnClick=\"refererer stadig til en kontakt3() )="><img src=\"billeder/kontakt%201.gif\" name=\"kontaktgif\" border=\"0\" width=\"180\" height=\"30\"></a>"; }
checkmenu() er en ny funktion der køres efter alle OnMouseOut og skifter alle menupunkter/billeder tilbage til startpositionen (med mindre kontakt3() har været kørt) -så når checkmenu() ikke at blive kørt ved første OnMouseOut, bliver den kørt efter næste. -og der ser ikke ud som "flimmer"
Jeg tror dermed barklund havde ret i at browseren ikke nåede at håndtere scriptet inden musen var væk igen, men med en funktion mindre (kontakt0() er som I kan se nu integreret i kontakt1() )går det bedre.
-Tak for hjælp og inspiration. Jeg deler point ud om et par dage til dem der vender tilbage :)
-Jeg vil lege videre med det, først skulle det bare fungere, og her synes jeg det var det lettest at genbruge så meget som muligt -men jeg bør f.eks. nok flytte onmouseover osv. ind på img-tagget og droppe <a href=\"#\">
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.