Gå til innhold

Trenger hjelp med client-ting script..


Anbefalte innlegg

Slik ser siden ut:

Klikk for å se/fjerne innholdet nedenfor

<html>

<head>

<script type="text/javascript>

<!--

var xInput = document.getElementById('xpos');

var yInput = document.getElementById('ypos');

 

document.onmousemove = function(e)

{

xInput.value = "x: " + e.clientX;

yInput.value = "y: " + e.clientY;

}

//-->

</script>

</head>

<body>

<input type="text" id="xpos"><input type="text" id="ypos">

</body>

</html>

Men input'ene blir bort.

Og det er meningen at det skal stå posisjonen til musa på skjermen, går det an slik?

Hva er feil? Takker for svar ;P

Endret av yinyou
Lenke til kommentar
Videoannonse
Annonse

Museposisjonen hentes dessverre ut forskjellig i de forskjellige browserene. Et metode som fungerer i alle de store (IE, FF, Opera og Safari) er:

 

var getMousecoordinates = function(e) {
 var posx = 0;
 var posy = 0;
 if (e.pageX || e.pageY)  {
   posx = e.pageX;
   posy = e.pageY;
 } else if (e.clientX || e.clientY)  {
   posx = e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft;
   posy = e.clientY + document.body.scrollTop + document.documentElement.scrollTop;
 }
 return {x: posx, y: posy};
};

 

Dette vil da returnere et objekt som inneholder X og Y. F.eks. kan du altså skrive:

var mpos = getMousecoordinates(e);
alert("Musepos x: "+mpos.x+"Musepos y: "+mpos.y);

 

Et fint sted å lese om browserfinuligheter er på Quirksmode.org.

Endret av luxus
Lenke til kommentar

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...