• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

'Globale' Mauspostion ermitteln/berechnen

SykesXable

New member
Moin,

ich hab derzeit das Problem das ich die globale Maus Position per JS ermitteln muss d.h. Mausposition relativ zum Screen und nicht wie
die üblichen Codes relativ zur Seite. Weil wenn ich nach unten scrolle aus Y ganz schnell mal 8000 wird was ein total unbrauchbarer Wert für mich ist.

Kann man das irgendwie direkt auslesen oder villt. auch berechnen? zB weiß ich das beim Chrome die Page erst ab realen 85 Pixeln anfängt (dadrüber sind dann lesezeichen.url,etc)

MfG

Edit: Hab die Lösung eben selber gefunden .
Formel(für Chrome, andere Browser eventl. abweichend) : PageX - PageYOffset + 85 (für die Leiste oben)
 
Zuletzt bearbeitet:
Code:
var mouse = {xPos: 0, yPos: 0}; document.addEventListener('mousemove', function(e){
  mouse.xPos = e.clientX;
  mouse.yPos = e.clientY;
}, false);
//Position auslesen:
console.log(mouse.xPos); //Pixelabstand zur Lesezeichen/Adressleiste
console.log(mouse.yPos); //Pixelabstand zur linken Seite des Browserfensters
 
Zuletzt bearbeitet:
@Julian: dein Code produziert einen Syntaxfehler und die Variable "position" ist nicht definiert... wenn du unbedingt eine Minus in die Eigenschaftsnamen einbauen willst (was nicht wirklich üblich in JS ist), musst du Schema 4 und im Objektliteral die Keys maskieren.

@SykesXable: Was ist aber, wenn jemand im Vollbildmodus arbeitet? Oder sein Browserfenster nicht maximiert hat? Oder oben im Browser noch irgendwelche Menüleisten von Addons angezeigt werden? Oder, oder, oder... Die Mausposition auf dem Bildschirm ist etwas, das du mit JS nicht allgemein in Erfahrung bringen kannst (jedenfallst ist mir kein Weg bekannt). Warum willst du denn überhaupt die Position auf dem Bildschirm haben? ev.pageX und ev.clientX sind normalerweise völlig ausreichend.

PS: ev.pageX mit window.pageYOffset zu verrechnen ergibt nicht wirklich einen sinnvollen Wert... ;)
 
nicht wie
die üblichen Codes relativ zur Seite. Weil wenn ich nach unten scrolle aus Y ganz schnell mal 8000
Das wäre mir neu, wo hast du denn die "üblichen Codes" gefunden?

zB weiß ich das beim Chrome die Page erst ab realen 85 Pixeln anfängt (dadrüber sind dann lesezeichen.url,etc)
Einfach diesen Wert abzuziehen bringt aber nichts, da das dann nur in Chrome funktioniert, und in keinem anderen Browser. Ich täte da gar nicht viel rechnen, sondern einfach wie in meiner Lösung die Position über clientX/Y auslesen.

@kkapsner: ich weiß auch nicht mehr, wie ich da auf das minus gekommen bin. Ich wollte das irgendwie erst als Kommentar verwenden, und dann ist es als Variablenname in den Code gerutscht...
Hab's oben korrigiert.
 
Das das nur in Chrome funktioniert und auch nur dann wenn der Vollbildmodus nicht an ist ist mir bewusst. Da das Script aber nur für mich ist und nicht für die Öffentlichkeit spielt das keine Rolle.
 
Dass etwas jetzt funktioniert, heißt noch lange nicht, dass das immer und überall funktioniert. Wenn Chrome z.B. sein Layout etwas ändert, musst du nachbessert. Oder wenn du doch mal einen anderen Browser verwenden willst.

Also nochmal:
Warum willst du denn überhaupt die Position auf dem Bildschirm haben? ev.pageX und ev.clientX sind normalerweise völlig ausreichend.

PS: du musst unsere Hilfestellung natürlich nicht annehmen... ;)
 
Zurück
Oben