Avatar billede idiotbarn Nybegynder
26. august 2007 - 21:07 Der er 5 kommentarer og
1 løsning

Mus position uden onmousemove (setInterval)

Spørgsmålet er egentligt ret enkelt... kan jeg få musens position gennem en funktion jeg kalder med setInterval()?

Jeg har lige nu en onmousemove og en setInterval og det virker meget tungt
Avatar billede olebole Juniormester
26. august 2007 - 21:15 #1
<ole>

document.onmousemove = function(e) {
    e = e ? e : event;
    document.getElementById("gnu").firstChild.nodeValue = e.clientX+" , "+e.clientY;
}

<div id="gnu">&nbsp;</div>

/mvh
</bole>
Avatar billede olebole Juniormester
26. august 2007 - 21:18 #2
- andet er svært at vise med den overdådige rundhåndethed omkring mangel på oplysninger  ;o)
Avatar billede idiotbarn Nybegynder
26. august 2007 - 21:20 #3
puh...man skal ikke skrive spørgsmål samtidig med man ser fjernsyn :)
Jeg vil gerne undgå onmousemove, da den er meget tung sammen med min setInterval funktion.

Kan jeg lave:
setInterval(animate,100);

function animate()
{
  var x = mouse.x;
  var y = mouse.y;
}
Avatar billede jensgram Nybegynder
26. august 2007 - 21:22 #4
Hehe - undrede mig netop over den "overdådige rundhåndethed" omkring mangel på spydigheder :)

Nej, undskyld jeg blander mig, men studser over:

e = e ? e : event;

Jeg er ikke i tvivl om, at der er belæg for den, men kan jeg lokke dig til at motivere den?

På forhånd tak.
Avatar billede idiotbarn Nybegynder
27. august 2007 - 11:04 #5
Det virker lidt som om man SKAL aflæse musen til bestemte events, ellers er det umuligt at aflæse musen's position. Jeg har prøvet en masse afskygninger af:

setInterval(mouseMove,200); //Med en masse forskellige argumenter

      function mouseMove(e)
        {
          e = e ? e : event;
          var currentMouseY = mouseY(e);
          debugDiv.innerHtml = currentMouseY;
        }

  function mouseY(ev)
  {
      if(ev.pageY)
      {
        return ev.pageY;
      }
      return (ev.clientY + document.body.scrollTop - document.body.clientTop)
    }

men der er ikke rigtigt noget der virker.
Hvis det ikke er muligt at aflæse musen udenom onmousemove, er der vel ikke mange andre muligheder end at kun udføre min kode hver 10. gange mousemove bliver kaldt...
Avatar billede idiotbarn Nybegynder
28. september 2007 - 11:33 #6
Svaret blev at bruge mousemove listeneren, men kun udføre koden i den hver 3 gang. Gjorde det mere flydende
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester