move-funktion für bilder begrenzen
MarcZ
- javascript
Hallo zusammen,
ich habe eine Funktion move(e) geschrieben, mit der ich ein bzw. mehrere <img> bewegen kann.
function move(e) {
if (isdrag) {
if (dobj.id == "fk0_"+j)
{
// auslesen der Differenz der FK
var diffx = (parseInt(document.getElementById("fk1_"+j).style.left) - parseInt(dobj.style.left));
dobj.style.left = nn6 ? tx + e.clientX - x : tx + event.clientX - x;
// alle FK verschieben sich in x-Richtung mit dem 1. FK mit
document.getElementById("fk1_"+j).style.left = nn6 ? tx + e.clientX - x + diffx : tx + event.clientX - x + diffx;
document.getElementById("fk2_"+j).style.left = nn6 ? tx + e.clientX - x + diffx : tx + event.clientX - x + diffx;
document.getElementById("fk3_"+j).style.left = nn6 ? tx + e.clientX - x + diffx : tx + event.clientX - x + diffx;
document.getElementById("auswahl_"+j).style.left = nn6 ? tx + e.clientX - x + 16 : tx + event.clientX - x + 16;
// alle Abstände in Meter in Felder eintragen
aim = ((parseInt(dobj.style.left) + 16) - (<?php echo $x_0 ?> + 16)) / ppm;
document.getElementById("x0_"+j).value = Math.round(aim * 1000) / 1000;
document.Formular2.Abstandx0.value = document.getElementById("x0_"+j).value;
}
if (dobj.id == "fk1_"+j)
{
dobj.style.left = nn6 ? tx + e.clientX - x : tx + event.clientX - x;
// FK 3 und 4 verschieben sich mit FK 2 in x Richtung mit
document.getElementById("fk2_"+j).style.left = nn6 ? tx + e.clientX - x : tx + event.clientX - x;
document.getElementById("fk3_"+j).style.left = nn6 ? tx + e.clientX - x : tx + event.clientX - x;
//Aktueller Abstand zu FK 1 wird in Eingabefeld Abstandx1 geschrieben
aim = ((parseInt(dobj.style.left) + 16) - (parseInt(document.getElementById("fk0_"+j).style.left) + 16)) / ppm;
document.getElementById("x1_"+j).value = Math.round(aim * 1000) / 1000;
document.Formular2.Abstandx1.value = document.getElementById("x1_"+j).value;
document.getElementById("auswahl_"+j).width = (parseInt(dobj.style.left) - parseInt(document.getElementById("fk0_"+j).style.left));
}
if (dobj.id == "fk2_"+j)
{
dobj.style.top = nn6 ? ty + e.clientY - y : ty + event.clientY - y;
document.getElementById("auswahl_"+j).style.top = nn6 ? ty + e.clientY - y + 16 : ty + event.clientY - y + 16;
//Aktueller Abstand zu FK 2 wird in Eingabefeld Abstand geschrieben
aim = ((parseInt(document.getElementById("fk1_"+j).style.top) + 16) - (parseInt(dobj.style.top) + 16)) / ppm;
document.getElementById("y1_"+j).value = Math.round(aim * 1000) / 1000;
document.Formular2.Abstandy.value = document.getElementById("y1_"+j).value;
document.getElementById("auswahl_"+j).height = (parseInt(document.getElementById("fk1_"+j).style.top) - parseInt(document.getElementById("fk2_"+j).style.top));
}
if (dobj.id == "fk3_"+j)
{
dobj.style.top = nn6 ? ty + e.clientY - y : ty + event.clientY - y;
// z-Verschiebung in Meter ind Abstandz schreiben
aim = ((497 + 16) - (parseInt(dobj.style.top) + 16)) / ppm;
document.getElementById("z1_"+j).value = Math.round(aim * 1000) / 1000;
document.Formular2.Abstandz.value = document.getElementById("z1_"+j).value;
}
return false;
}
}
Nun möchte ich Beispielweise das img mit der id "fk1_"+j aber nur max. 8m(wird in Pixel umgerechnet) von dem img mit der id "fk0_"+j nach rechts bewegen können und nicht näher als 2m an "fk0_"+j dran bewegen können.
Könnt ihr mir da bitte helfen?
Viele Grüße
Marc