Will: Fehler in meinem Script? (Strecke durch koordinaten berechnen)

Wo liegt der fehler in meinem Script? warum schreibt der NaN, wenn ich das Ergebnis wissen will???

Hier das Script in HTML :

<html>
<head><title>testpage für JavaScript</title>
<script language="Javascript" type="text/javascript">

var isNav = (navigator.appName.indexOf("Netscape") !=-1);

function handlerDC(e){
  Xdc = (isNav) ? e.pageX : event.clientX;
  Ydc = (isNav) ? e.pageY : event.clientY;
  document.dataholder.dcX.value=Xdc;
  document.dataholder.dcY.value=Ydc;
}

// Maushandler für losgelassene Taste.
// @param e  Objekt vom Typ event, hält die Koordinaten des Mauszeigers
function handlerMU(e){
  Xmu = (isNav) ? e.pageX : event.clientX;
  Ymu = (isNav) ? e.pageY : event.clientY;
  document.dataholder.muX.value=Xmu;
  document.dataholder.muY.value=Ymu;
}

// für gedrückte Taste
function handlerMD(e){
  Xmd = (isNav) ? e.pageX : event.clientX;
  Ymd = (isNav) ? e.pageY : event.clientY;
  document.dataholder.mdX.value=Xmd;
  document.dataholder.mdY.value=Ymd;
}

function handlerMM(e){
  Xmm = (isNav) ? e.pageX : event.clientX;
  Ymm = (isNav) ? e.pageY : event.clientY;
  document.dataholder.mmX.value=Xmm;
  document.dataholder.mmY.value=Ymm;
}

// für gedrückte Taste
function handlerMO(e){
  Xmo = (isNav) ? e.pageX : event.clientX;
  Ymo = (isNav) ? e.pageY : event.clientY;
  document.dataholder.moX.value=Xmo;
  document.dataholder.moY.value=Ymo;
}

if (isNav) {
document.captureEvents(Event.MOUSEMOVE);                       // ??Ausgabe der Daten??
document.captureEvents(Event.MOUSEDOWN);
document.captureEvents(Event.MOUSEOVER);
document.captureEvents(Event.MOUSEUP);
document.captureEvents(Event.DBLCLICK);
}
document.onmouseover = handlerMO;
document.onmousedown = handlerMD;
document.onmouseup   = handlerMU;
document.onmousemove = handlerMM;
document.ondblclick  = handlerDC;

function SchreibeTabelle()                                        // Streckenberechnung
{
var muX, muY, mdX, mdY, a1, b1, a2 , b2, c2;
var Satzteil = "Das Quadrat von ";
      document.close();
      document.open("text/html");
      document.writeln('<table border="1"><tr>');
      document.writeln('<td bgcolor="EEEEEE">Wert</td>');
      document.writeln('<td bgcolor="EEEEEE">Wert<sup>2</sup></td>');
      document.writeln('<td bgcolor="EEEEEE">Wert<sup>3</sup></td></tr>');
for

a1 = mdX - muX;                                                   // Formeln für die Streckenberechnung
         b1 = mdY - muY;
         a2 = a1 * a1;
         b2 = b1 * b1;
         c2 = a2 + b2;
          document.writeln('<tr><td>' + c2 + '</td>');
          document.writeln('<td>' + a2 + '</td>');
          document.writeln('<td>' + b2 + '</td></tr>');
      }
      document.writeln('</table>');

</script>
</head>
<body>
<form name="dataholder"></center>

<center><table BORDER >
<tr>
<td></td>

<td>X Position</td>

<td>Y Position</td>
</tr>

<tr>
<td>
<center>Aktuell</center>
</td>

<td>
<center><input type="text" size=5 name="mmX" value="0"></center>
</td>

<td>
<center><input type="text" size=5 name="mmY" value="0"></center>
</td>
</tr>

<tr>
<td>
<center>Taste losgelassen</center>
</td>

<td>
<center><input type="text" size=5 name="muX" value="0"></center>
</td>

<td>
<center><input type="text" size=5 name="muY" value="0"></center>
</td>
</tr>

<tr>
<td>
<center>Taste gedrückt</center>
</td>

<td>
<center><input type="text" size=5 name="mdX" value="0"></center>
</td>

<td>
<center><input type="text" size=5 name="mdY" value="0"></center>
</td>
</tr>

<center></form>

<form name="Strecke" action="">
<p>Hier ist die zurückgelegte Entfernung:</p>
<input type="button" value="hier klicken!"
onClick="SchreibeTabelle()">

</form>
</body>
</html>

  1. hi

    ich erinnere nochmal an [pref:t=61628&m=347763]

    Wo liegt der fehler in meinem Script? warum schreibt der NaN, wenn ich das Ergebnis wissen will???

    http://selfhtml.teamone.de/javascript/objekte/number.htm#nan
    http://selfhtml.teamone.de/javascript/objekte/unabhaengig.htm#is_nan

    so long
    ole
    (8-)>

  2. Wo liegt der fehler in meinem Script? warum schreibt der NaN, wenn ich das Ergebnis wissen will???

    lass doch einfach mal das _for_ in zeile 73 weg... dann funktioniert schonmal die hälfte...

    --
    Bis dann!
    >> H9k3 <<
    1. lass doch einfach mal das _for_ in zeile 73 weg... dann funktioniert schonmal die hälfte...

      und dann? ich will, das es ganz geht

      1. und dann? ich will, das es ganz geht

        kinder, die was wollen ...
        sei doch froh, dass so wenigstens mal alle zahlen/koordinaten angezeigt werden. und wenn du den IE benutzt zeigt der dir unten links sogar netter weise die Fehler an!!! mußt du nur draufklicken und lesen...
        ich werd dir hier bestimmt nicht jetzt dein ganzes script durchanalysieren. das mit dem _for_ ist mir nur direkt beim drüberfliegen aufgefallen.
        viel spaß noch!

        --
        Bis dann!
        >> H9k3 <<
        1. DSE for war nur nen versehen!
          Des hatte ich vorher garnet...
          hatte es nur vergessen wegzumachen.......

  3. Hallo (das ist ein Begrüssung),

    Wo liegt der fehler in meinem Script? warum schreibt der NaN, wenn ich das Ergebnis wissen will???

    Ist das Skript von dir oder geklaut? Wenn es von dir ist (was ich nicht glaube), dann wüsstest Du selbst was das Skript macht bzw. nicht macht ...

    Wenn Du es aber irgendwo geklaut hast, dann frag doch den Autor des Skripts, der kennt sich damit am besten aus ...

    a2 = a1 * a1;
             b2 = b1 * b1;
             c2 = a2 + b2;

    Ich weiß zwar nicht wie alt Du bist, aber abgesehen von diversen anderen Mängeln in deinem Skript würde ich dir ein intensiveres Studium des Satzes von Pythagoras dringends anraten ;-)

    Nur so als kleiner Tip:
    die Wurzel (SCNR) einer korrekten Berechnung der Strecke steckt in der 3. Zeile des von mir zitierten Ausschnitts deines Skripts.

    Grüsse
    Frankie
    (das war eine Grussformel, nicht weltbewegend, aber immerhin besser als keine, gelle?)