Hi
ich weiß zwar, dass es da schon dutzende Umsetzungen im Netz zu gibt, aber ich möchte nicht einfach irgendeinen Code kopieren und dann reinsetzen ohne ihn verstanden zu haben oder ihn selbst machen zu können.
Ich möchte ein div-element frei beweglich machen. Wenn man mit der Maus draufdrückt und gedrückt hält soll es der maus folgen, wenn man loslässt soll es stehen bleiben.
An sich ja leicht, ich wollte das alles mit onmousedown starten, und dann über onmouseup beenden. aber ich kriege es zum verrecken nicht zum laufen. habe es mit schleifen probiert, mit setIntervall und allem, aber es will einfach die funktion nicht rekursiv laufen lassen. entweder bewegt es sich dann nur einmal, wenn man draufdrückt, oder überhaupt gar nicht.
<div id="container" style="(...)" onmousedown="move('container')"></div>
<script type="text/javascript">
function move(id) {
document.getElementById(id).style.top = window.event.pageY
document.getElementById(id).style.left = window.event.pageX
}
</script>
das ist mein grundgerüst.
ich hatte es schonmal mit:
function move(id) {
var zaehler = 1
do{
document.getElementById(id).style.top = window.event.pageY
document.getElementById(id).style.left = window.event.pageX
if ( document.getElementById(id).onmouseup = true) {
var zaehler = 2
}
} while (zaehler == 1)
}
...probiert. aber das will nicht. wobei ich hier an der stelle auch nicht weiß ob "if ( document.getElementById(id).onmouseup = true)" überhaupt in der form anwendbar ist.
bin neu in javascript und hab im netz nach lösungen gesucht, bin aber bisher nicht fündig geworden.
deswegen wollte ich mal hier direkt bei euch nachfragen.