maus koordinaten???
mh
- javascript
hi,
im moment werden die koordinaten der maus mit dem folgenden script festgestellt:
var IE = document.all?true:false;
if (!IE) document.captureEvents(Event.MOUSEMOVE)
document.onmousemove = getMouseXY;
var tempX = 0;
var tempY = 0;
function getMouseXY(e) {
if (IE) { // falls IE
tempX = event.clientX + document.body.scrollLeft;
tempY = event.clientY + document.body.scrollTop;
}
else { // falls NS
tempX = e.pageX;
tempY = e.pageY;
}
if (tempX < 0) {
tempX = 0;
}
if (tempY < 0) {
tempY = 0;
}
document.Show.MouseX.value = tempX;
document.Show.MouseY.value = tempY;
return true;
}
funktioniert auch ohne probleme, allerdings kann ich die koordinaten nur in einem <input>-feld herausgeben. wie kann ich die koordinaten einfacher ausgeben, z.B. per document.write() ?
Hallo,
wie kann ich die koordinaten einfacher ausgeben, z.B. per document.write() ?
Auf http://selfhtml.teamone.de/dhtml/index.htm ff. ist beschrieben, wie Du HTML-Inhalte dynamisch ändern kannst.
Christian
Hallo,
So viel einfacher wird das mit document.write(bla) gar nicht,
weil du die ganze Seite damit neuschreibst und diese auch nicht
aktualisiert wird.
Vorschlag: bleib dabei die Daten in irgendwelche Container
zu schreiben, z.B. mit innerHTML
http://selfhtml.teamone.de/javascript/objekte/all.htm#inner_html
und pass sie dann so an das man sie nicht sieht.
mfg,
Peter
Hi,
funktioniert auch ohne probleme, allerdings kann ich die koordinaten nur in einem <input>-feld herausgeben. wie kann ich die koordinaten einfacher ausgeben, z.B. per document.write() ?
Möchtest Du wirklich einen Wert (bzw. mehrere hintereinnader) per document.write ausgeben? Du kannst sozusagen die per document.write ausgegebene Werte nicht mehr überschreiben. Diese sind nach der Ausgabe statisch.
Was Du vermutlich suchst ist eine Lösung, mit der Du nicht mehr auf ein Textfeld für die Ausgabe beschränkt bist.
Verwende dazu einfach Layer (<div></div>) und ändere den Inhalt der Layer dynamisch. Du findest mehrere Beispiele in Selfhtml. Dieses Beispiel http://selfhtml.teamone.de/dhtml/beispiele/datumuhr.htm zeigt Dir anhand einer laufenden Uhr, wie Du auf die Layer zugreifst.
Du musst an sich nur diese beiden Zeilen ändern, um anstatt auf das Textfeld auf die Layer zuzugreifen:
document.Show.MouseX.value = tempX;
document.Show.MouseY.value = tempY;
Alternativ kannst Du das Textfeld per CSS auch so formatieren, dass es als solches nicht mehr zu erkennen ist. Also den Hintergrund und den Rahmen des Textfeldes dem Seitenhintergrund anpassen.
Viele Grüße...
Alex :)