mh: maus koordinaten???

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() ?

  1. 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

    --
    Hast Du einen Beitrag? Nur her damit!
    http://aktuell.de.selfhtml.org/tippstricks/beitrag.htm
    SELF-Code: (http://emmanuel.dammerer.at/selfcode.html)
    sh:) fo:) ch:] rl:( br:> n4:& ie:% mo:) va:) de:] zu:) fl:( js:| ss:) ls:[
  2. 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

  3. 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 :)

    --
    ss:| zu:) ls:# fo:) de:[ va:) ch:) sh:| n4:# rl:° br:^ js:| ie:| fl:( mo:|