Drag&Drop. Aber wie???
Griever
- javascript
Servus.
Habe ein kleines Problem mit meinem Drag&Drop für einen Container.
Ich möchte auf meiner Site ein Einkaufswagen (wegen onlineshop) haben. Doch da sich das mit einem Fenster schwierig machen lässt, möchte ich es mit einem Container probieren. Doch da lag wieder das Problem darin, dass der Container zu viel platz auf der Seite nehmen würde.
Da habe ich mir gedacht, dass ich das ding einfach absolut positionieren könnte. Gleichzeitig habe ich mir ein Drag&Drop-Script ausm Inter-Net geholt. Doch das Script schneidet mir den Zugriff auf den Container ab und gibt mir nicht frei, das ding neu absolut zu positionieren.
Ich möchte aber, dass der Container, immer wenn er geöffnet wird (schließen-funktion im Container) an einer bestimmten stelle steht.
Hatte es auch mal hinbekommen. doch sowie ich es Dragge, wird das ding an die vorherige Position, wo man es zuvor hingezogen hatte, zurückpositioniert. Es ist nicht schön, da es ständig dann wegploppt.
Kann mir jemand helfen???
MFG
Griever
Hallo,
Hast Du eine Seite wo man sich das mal ansehen kann oder gar den Quellcode deines Drag&Drop-Scriptes?
Das was Du vorhast ist jedenfalls machbar, aber ohne genau zu wissen, was bei Dir nicht funktioniert, ist eine Fehlerbehbung schwierig.
Mahlzeit.
Ähm. Ich habe das Script wieder herausgenommen. Leider schreibe ich die Seite auf einem Computer, der nicht mit dem Internet verbunden ist.
Aber ich kann es dir mal versuchen zu verdeutlichen:
.........
.........
.........
.........
(Das soll der Layer sein)
----------------------------------
.........
.........
.........
.........
(Nun habe ich Ihn gezogen)
----------------------------------
.........
. .
. .
.........
(Jetzt habe ich ihn geschlossen (display:none;))
----------------------------------
.........
.........
.........
.........
(Jetzt wurde der Layer wieder geöffnet und an die Position gelegt, wo ich ihn haben will)
----------------------------------
X .........
.........
.........
.........
(Doch sowie ich Ihn ziehen will, springt er an die zuvor-hingedropte stelle)
(Das X zeigt an, wo ich es angeklickt habe und angefangen habe zu ziehen.)
Nun. Und das ist mein Problem.
Das Script nimmt aber immer die aktuellen werte des Layers (top:; und left:;)
die ich dann ja beim neu Öffnen wieder ändere.
Doch irgendwie übernimmt der die nicht richtg:
document.all.layer.style.Top=neueposition
document.all.layer.style.Left=neueposition
// hab jetzt mal document.all genommen. Benutze aber getElementById("layer")
// So ändere Ich die Position
var srcel_top=document.all.layer.style.Top.split("px")
var srcel_left=document.all.layer.style.Left.split("px")
srcel_top=Number(srcel_top(0)) // Macintosh-eckige klammern find ich auf der Tastatur nich
srcel_left=Number(srcel_left(0))
// So nimmt sich das Script die Positionswerte des Layers.
// Ich habe das Script durchsucht und fand keine anderen Angaben zur Position, die nicht durch die Drag-Funtkion genommen wurden.
MFG
Griever
Ähm. Ich habe das Script wieder herausgenommen. Leider schreibe ich die Seite auf einem Computer, der nicht mit dem Internet verbunden ist.
Und du hast nicht irgendwo Webspace?
document.all.layer.style.Top=neueposition
document.all.layer.style.Left=neueposition
Ohne Einheiten kann das in die Hose gehen.
var srcel_top=document.all.layer.style.Top.split("px")
var srcel_left=document.all.layer.style.Left.split("px")
Die Eigenschften Top und Left gibt es nicht.
Wenn du die richtigen Eigenschaften abfragst reicht es, um an die nackten Zahlen zu kommen, parseInt() zu nutzen.
Struppi.