Steffen: Fehlersuche

Beitrag lesen

Hallo liebe Selfhtml-Gemeinde,

ich möchte gerne eine Linie zwischen 2 Punkten erzeugen. Dazu habe ich ein Js geschrieben, das beim klicken auf ein Bild die Koordinaten des Klickpunktes ausliest.
Theoretisch soll am Ende dieser Schleife 2 Punkte(x1,y1,x2,y2) ausgelesen werden. Aber Praktisch ist es nicht so. Ich bekomme immer nur den letzten Punkt gemeldet. Woran liegt es???
Bitte erschreckt nicht, es ist ne menge an Text.

function GetaHit(e)
  {
 var x1pos=0;
    var y1pos=0;
 var x2pos=0;
    var y2pos=0;
    var xpos=0;
    var ypos=0;
    var sRef="";
    var r1=0;
    var h1=0;
    var r2=0;
    var h2=0;
    var a=0;
 var m=' m';
...

/* Entfernung messen */
      if (window.document.clickaction.xxx[2].checked == true)
      {
    jg.clear();
        if (iClick == 0)
        {
          /* erster Klickpunkt */
          iClick++;
          if (isNetscape == true)
          {
            x1Real=e.x-document.graphic.x;
            y1Real=e.y-document.graphic.y;
   var linex1=e.x-document.graphic.x;
   var liney1=e.y-document.graphic.y;
   var x1pos=e.x;
   var y1pos=e.y;

if ((x1Real > 0) & (y1Real > 0))
            {
              document.x1y1.x=e.x-16;
              document.x1y1.y=e.y-16;
            }
            else
            {
              iClick=0;
            }
          }
          else
          {
            x1Real=window.event.offsetX;
            y1Real=window.event.offsetY;
   linex1=window.event.offsetX;
            liney1=window.event.offsetY;
   x1y1.style.left=window.event.clientX-16;
            x1y1.style.top=window.event.clientY-16;
            window.document.img_x1y1.width=31;
            window.document.img_x1y1.height=31;

}
        }
        else
        {
          /* zweiter Klickpunkt */
          iClick=0;
          if (isNetscape == true)
          {
            x2Real=e.x-document.graphic.x;
            y2Real=e.y-document.graphic.y;
   var linex2=e.x-document.graphic.x;
   var liney2=e.y-document.graphic.y;

if ((x2Real > 0) & (y2Real > 0))
            {
              document.x2y2.x=e.x-16;
              document.x2y2.y=e.y-16;
            }
            else
            {
              iClick=1;
            }
          }
          else
          {
            x2Real=window.event.offsetX;
            y2Real=window.event.offsetY;
   linex2=window.event.offsetX;
            liney2=window.event.offsetY;
            x1y1.style.left=0;
            x1y1.style.top=0;
            window.document.img_x1y1.width=0;
            window.document.img_x1y1.height=0;
            x2y2.style.left=0;
            x2y2.style.top=0;
            window.document.img_x2y2.width=0;
            window.document.img_x2y2.height=0;
          }
          if ((x1Real > 0) & (y1Real > 0))
          {
            if ((x2Real > 0) & (y2Real > 0))
            {
              r1=GetRRealCoord (x1Real);
              h1=GetHRealCoord (y1Real);
              r2=GetRRealCoord (x2Real);
              h2=GetHRealCoord (y2Real);
              a=CalcOffset (r1,h1,r2,h2);
              window.document.clickaction.offset.value=Math.round (a)+ m;
     jg.setColor('#FFFF00');
   jg.setStroke(2);

jg.drawLine(0,0,linex2,liney2);
   jg.paint();

alert(linex1);
     alert(liney1);
   alert(linex2);
   alert(liney2);
            }
          }

}
      }