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);
}
}
}
}