hallo,
ich wollte, zum Ausgeben von Fehlermeldungen auf einer Website, ein DIV erstellen, dessen Position man ändern kann, wie bei einem richtigen Fenster.
Dabei sollte aber die Position der DIV Rändern relativ zur Cursorposition gleich bleiben, also wenn der Cursor auf dem DIV eine Position von (100|20) hat, soll diese auch beibehalten werden.
Um das Feld zu bewegen, benutze ich folgende Funktion:
Auf die Art tut sich aber garnichts.
wenn ich es z.B. so schreibe:
funktioniert es komischerweise. Allerdings bleibt dabei ja nicht die relation bestehen :(
Habt ihr eine Ahnung, was ich falsch mache?
ich würde mich über zumindest eine Anregung freuen ;)
mfg mupilz
ich wollte, zum Ausgeben von Fehlermeldungen auf einer Website, ein DIV erstellen, dessen Position man ändern kann, wie bei einem richtigen Fenster.
Dabei sollte aber die Position der DIV Rändern relativ zur Cursorposition gleich bleiben, also wenn der Cursor auf dem DIV eine Position von (100|20) hat, soll diese auch beibehalten werden.
Um das Feld zu bewegen, benutze ich folgende Funktion:
HTML:
<script type="text/JavaScript">
function move(field)
{
if (clicked[field]) // Wenn das DIV aktiv ist (also die maus darüber gedrückt ist)
{
var left = x - (x - parseFloat(document.getElementById(field).style.left.split("px")[0])); // x ist die absolute x-koordinate des Cursors
var top = y - (y - parseFloat(document.getElementById(field).style.top.split("px")[0])); // y ist die absolute y-koordinate des Cursors
document.getElementById(field).style.left = left + 'px';
document.getElementById(field).style.top = top + 'px';
}
}
</script>
wenn ich es z.B. so schreibe:
HTML:
<script type="text/JavaScript">
function move(field)
{
if (clicked[field]) // Wenn das DIV aktiv ist (also die maus darüber gedrückt ist)
{
var left = x - (x - parseFloat(document.getElementById(field).style.left.split("px")[0])); // x ist die absolute x-koordinate des Cursors
var top = y - 1; // y ist die absolute y-koordinate des Cursors ( anstatt der relativen y-koordinate eine 1)
document.getElementById(field).style.left = left + 'px';
document.getElementById(field).style.top = top + 'px';
}
}
</script>
Habt ihr eine Ahnung, was ich falsch mache?
ich würde mich über zumindest eine Anregung freuen ;)
mfg mupilz