Zoxc Skrevet 29. november 2005 Del Skrevet 29. november 2005 Hvordan kan jeg få denne koden til å fungere i Firefox (Går i IE og Opera) Meningen er at Testing skal følge musa. Siden dette blir brukt på er her: Side (Du må registrere deg for å sjå ) <div id="info" style="position:absolute; top:234px; visibility:hidden;">Testing</div> function mouseMoveHandler (evt) { var x = document.all ? event.clientX : document.layers ? evt.x : evt.clientX; var y = document.all ? event.clientY : document.layers ? evt.y : evt.clientY; window.status = x + ':' + y; document.getElementById("info").style.left = x+12; document.getElementById("info").style.top = y+12; } if (document.layers) document.captureEvents(Event.MOUSEMOVE); if (document.layers || document.all) document.onmousemove = mouseMoveHandler; if (document.addEventListener) document.addEventListener('mousemove', mouseMoveHandler, true); Lenke til kommentar
olafura Skrevet 30. januar 2006 Del Skrevet 30. januar 2006 Uhm er ingen javascript expert, men ser du sjekker på document.all og document.layers. IE og Opera vil triggere på document.all gamle Netscape vil triggere på document.layers men for å triggere for Mozilla burde du sjekke på document.getElementsById.. Vet ikke om det er grunnen men er en mulighet :-) Lenke til kommentar
olafura Skrevet 30. januar 2006 Del Skrevet 30. januar 2006 (endret) Oki kjeda meg litt så fikk en som kan litt mer ta en nærmere titt. Her er hva han fant ut: 1. the event handler does not branch correctly when getting the mouse position, so it tells Firefox to use a property that it does not support 2. it fails to take scrolling into account for browsers like IE 3. it does not use units when setting the element position 4. it repeatedly checks for one thing then assumes another instead of checking for the actual thing it is about to use it makes opera add two separate listeners, since it supports both document.all and addEventListener 5. it uses the capture phase in the DOM event listener instead of the buble phase Prøv det her :-) : <script type="text/javascript"> function mouseMoveHandler (evt) { var x = ( typeof(evt.pageX) == 'number' ) ? evt.pageX : ( evt.clientX + (document.documentElement.scrollLeft?document.documentElement.scrollLeft:document.body.scrollLeft) ); var y = ( typeof(evt.pageY) == 'number' ) ? evt.pageY : ( evt.clientY + (document.documentElement.scrollTop?document.documentElement.scrollTop:document.body.scrollTop) ); window.status = x + ':' + y; document.getElementById("info").style.left = (x+12)+'px'; document.getElementById("info").style.top = (y+12)+'px'; } if( document.layers && document.captureEvents && Event.MOUSEMOVE ) { document.captureEvents(Event.MOUSEMOVE); } if(document.addEventListener) { document.addEventListener('mousemove', mouseMoveHandler, false); } else if( document.attachEvent ) { document.attachEvent('onmousemove', mouseMoveHandler); } else { document.onmousemove = mouseMoveHandler; } </script> <div id="info" style="position:absolute;">Damer</div> Endret 30. januar 2006 av olafura Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå