Anonymus: Mausposition zum Verschieben von Elementen

Hallo,
ich habe eine Liste von Elementen untereinander (also

<div>Objekt1</div>  
<div>Objekt2</div>  
...

Die Reihenfolge soll der Nutzer nun ändern können. Dafür wollte ich es so machen, dass er ein Element anklicken und ziehen kann und über einem anderen Element loslassen, so dass dann alle Elemente von dieser Position ab nach oben rutschen.

Umsetzung dachte ich mir, dass bei onmousedown-Event ein Element gewählt wird, das per onmousemove-Event solang verschoben wird, bis onmouseup ausgelöst wird. Bei onmouseup wird geprüft, ob es auf einem Element ist, wenn ja wird verschoben, wenn nein, wird nichts gemacht.

Dazu muss ich die Maus-Position auslesen, auf diese das Element per absolute-Position positioniert wird.

Problem 1:
Über google habe ich folgende Beschreibung dafür gefunden:
http://de.selfhtml.org/javascript/objekte/event.htm
Bei mir kennt er aber event nicht, weshalb nichts funktoniert. Habe dort gelesen, dass event aber überall anders umgesetzt ist. Ich sitze vor einem Mac, vielleicht liegts daran - es soll später aber überall funktonieren!!!
Weiß jemand, wie man die aktuelle Mausposition richtig ausliest?

Wenn los gelassen wird, muss ich überprüfen ob die aktuelle Mausposition innerhalb eines der Elemente liegt.
Frage 2:
Wie kann ich überprüfen, ob eine Position innerhalb eines Elementes liegt?

vielen Dank für eure Hilfe

  1. Hi,

    Wie kann ich überprüfen, ob eine Position innerhalb eines Elementes liegt?

    offsetLeft/Top ist Dein Freund.
    Hier habe ich noch einen kleinen drag&drop-Test rumliegen, der auch Mac-kompatibel ist: Drag&Drop Da kannst Du Dir vielleicht Anregungen holen.

    Ansonsten können übrigens sämtlich aktuellen Frameworks wie jquery plus ui oder prototype plus effects sowas...

    Gruesse, Joachim

    --
    Am Ende wird alles gut.
  2. Grüße,
    1)afaik gibt es 2 große Macuser gruppen - ahnungslose (iDiots) und Angeber die preis und Leistung bisher nicht mental entkoppelt haben.
    so kommen wir zum punkt 2

    2)beschäftige dich etwas mehr mit JavaScript. du stellst die frage so, dass es klar wird - du hast da echt wenig infos. man kann dir im moment nciht helfen - du würdest erklärungen nicht so ganz verstehen und fertiger code wäre bärendienst

    3)gern geschehen
    MFG
    bleicher

    --
    __________________________-

    FirefoxMyth
  3. Om nah hoo pez nyeetz, Anonymus!

    Hallo, ich habe eine Liste von Elementen untereinander (also

    <div>Objekt1</div>
    
    > <div>Objekt2</div>
    > ...
    
    

    falsch, eine Liste ist

    <ul|ol>
      <li>Objekt 1</li>
      <li>Objekt 2</li>
    </ul|ol>
    

    ,

    da die Reihenfolge nicht wichtig zu sein scheint, plädiere ich für <ul>.

    Matthias

    --
    1/z ist kein Blatt Papier. http://www.billiger-im-urlaub.de/kreis_sw.gif