ERLEDIGT
NEIN
NEIN
ANTWORTEN
23
23
ZUGRIFFE
832
832
EMPFEHLEN
-
Hallo,
ich möchte einige Bilder per Drag 'n' Drop in der Seite verschieben und in einem DIV-Element einrastet.
Hier mein Code:
der Funktionier leider nicht.HTML-Code:function dragStart(e) { MausX = document.all ? window.event.x : e.pageX; MausY = document.all ? window.event.y : e.pageY; document.getElementById(e).Top = MausX; document.getElementById(e).Left = MausY; document.getElementById(e).style.border = '1px red solid'; } function dragEnd(e) { document.getElementById(e).style.border = '1px green solid'; window.Status='Teil abgelegt.'; }
Ich hoffe,diese Angaben reichen euch,wenn nicht;fragt mich per PN.
Danke für alle Hilfen.
-
-
Das funktioniert bei mir irgend wie nicht.
Hier mein Code(JS)
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
document.onmousemove = mouseMove; document.onmouseup = mouseUp; var dragObject = null; var mouseOffset = null; function getMouseOffset(target, ev){ ev = ev || window.event; var docPos = getPosition(target); var mousePos = mouseCoords(ev); return {x:mousePos.x - docPos.x, y:mousePos.y - docPos.y}; } function getPosition(e){ var left = 0; var top = 0; while (e.offsetParent){ left += e.offsetLeft; top += e.offsetTop; e = e.offsetParent; } left += e.offsetLeft; top += e.offsetTop; return {x:left, y:top}; } function mouseCoords(ev){ if(ev.pageX || ev.pageY){ return {x:ev.pageX, y:ev.pageY}; } return { x:ev.clientX + document.body.scrollLeft - document.body.clientLeft, y:ev.clientY + document.body.scrollTop - document.body.clientTop }; } function mouseMove(ev){ ev = ev || window.event; var mousePos = mouseCoords(ev); if(dragObject){ dragObject.style.position = 'absolute'; dragObject.style.top = mousePos.y - mouseOffset.y; dragObject.style.left = mousePos.x - mouseOffset.x; return false; } } function mouseUp(){ dragObject = null; } function makeDraggable(item){ if(!item) return; item.onmousedown = function(ev){ dragObject = this; mouseOffset = getMouseOffset(this, ev); return false; } } makeDraggable('p2');
Und HTML:
Aber wenn ich draufklicke und die Maus bewege und loslasse,hat es sich nicht gerührt.HTML-Code:<span class="menu_a" onMouseUp="mouseUp()" onMouseMove="mouseMove('p2')" id="p2"> <img src="8tagere1.jpg"> </span>
Die Bilder sind in einem Scrollbaren DIV und sie sollen in ein anderes DIV gezogen werden.
-
Hi,
die Funktion makeDraggable erwartet das Objekt selbst als Parameter und keinen String. Da das Objekt jedoch erst nach dem Laden des Dokuments zur Verfügung steht, sollte die Routine im onload-Event aufgerufen werden.
Weiterhin hat das Attribut onmousemove im SPAN-Tag nichts zu suchen.Code :1 2 3
window.onload = function(){ makeDraggable(document.getElementById('p2')); }
Ciao
QuaeseVielleicht muss man manchmal vom Weg abkommen, um nicht auf der Strecke zu bleiben!
----
Der "Fortsetzungsroman" auf www.leuteforum.de
New kind to realize large scalable projects with jQuery: jQuery SDK
-
Bei mir geht es irgendwie immernoch nicht.
Ich habe es so gemacht, wie Quaese.
Wenn es geht,macht mir bitte ein Beispiel.
Es sollte ein Span-Element bewegen können.
-
Hi,
hast du das SPAN-Element mit position: absolute entsprechend positioniert?
Ciao
QuaeseVielleicht muss man manchmal vom Weg abkommen, um nicht auf der Strecke zu bleiben!
----
Der "Fortsetzungsroman" auf www.leuteforum.de
New kind to realize large scalable projects with jQuery: jQuery SDK
-
document.onmousemove = mouseMove;
document.onmouseup = mouseUp;
diese beiden zeilen müssen hinter die deklaration der beiden entpsrechenden methoden, nicht davor.
-
Nö,das ist einfach in einem DIV,in dem auch andere Bilder sind.
Es geht irgendwie immer noch nicht.
hier mein Code
PHP-Code:var dragObject = null;
var mouseOffset = null;
function getMouseOffset(target, ev){
ev = ev || window.event;
var docPos = getPosition(target);
var mousePos = mouseCoords(ev);
return {x:mousePos.x - docPos.x, y:mousePos.y - docPos.y};
}
function getPosition(e){
var left = 0;
var top = 0;
while (e.offsetParent){
left += e.offsetLeft;
top += e.offsetTop;
e = e.offsetParent;
}
left += e.offsetLeft;
top += e.offsetTop;
return {x:left, y:top};
}
function mouseCoords(ev){
if(ev.pageX || ev.pageY){
return {x:ev.pageX, y:ev.pageY};
}
return {
x:ev.clientX + document.body.scrollLeft - document.body.clientLeft,
y:ev.clientY + document.body.scrollTop - document.body.clientTop
};
}
function mouseMove(ev){
ev = ev || window.event;
var mousePos = mouseCoords(ev);
if(dragObject){
dragObject.style.position = 'absolute';
dragObject.style.top = mousePos.y - mouseOffset.y;
dragObject.style.left = mousePos.x - mouseOffset.x;
return false;
}
}
function mouseUp(){
dragObject = null;
}
function makeDraggable(item){
if(!item) return;
item.onmousedown = function(ev){
dragObject = this;
mouseOffset = getMouseOffset(this, ev);
return false;
}
}
document.onmousemove = mouseMove;
document.onmouseup = mouseUp;
window.onload = function(){
makeDraggable(document.getElementById('p2'));
Geändert von ts230 (25.08.08 um 17:38 Uhr)
-
Hi,
in der Funktion mouseMove fehlen bei den Zuweisungen an top und left die Einheiten.
@OnlyFoo - die Position der Eventhandler im Dokument sollte hier eigentlich nicht entscheidend sein.Code :1 2
dragObject.style.top = mousePos.y - mouseOffset.y[B] + "px"[/B]; dragObject.style.left = mousePos.x - mouseOffset.x[B] + "px"[/B];
Ciao
QuaeseVielleicht muss man manchmal vom Weg abkommen, um nicht auf der Strecke zu bleiben!
----
Der "Fortsetzungsroman" auf www.leuteforum.de
New kind to realize large scalable projects with jQuery: jQuery SDK
-
Hallo,es geht immer noch nicht richtig.
Wenn ich die linke Maustaste drücke und halte und die Maus bewege,rutscht das Bild ganz nach rechts und es geht immer so weiter.

-
Ok, die Position der EventHandler ist tatsächlich egal. Das verwundert mich allerdings stark... Warum ist das so? Die sind ja schließlich zu dem Zeitpunkt der zuweisung noch nicht definiert?
Code :1 2
document.onmousemove = x; var x = function() { ... };
funktioniert erwartungsgemäß nicht.
Das mit den einheiten jedoch ist ebenfalls irrelevant.
Allerdings seh ich auch kein Problem mit dem Code, ich hab ihn gerad mal eben selbst getestet und es funktioniert bei mir im Firefox3 ohne Probleme. Nen andren Browser zum testen habe ich allerdings nicht hier...
-
-
Die Klammer ist denk ich nur Copy&Paste Fehler, und die Knotenstruktur dürfte nicht so viel ausmachen, wegen der Schleife in getPosition
-
-
Es wird wohl nichts bringen, wenn du nur sagst, dass es nicht geht, wenn es bei allen anderen geht...du wirst mit dem kompletten Sourcecode des Dokumentes zeigen müssen.
Ähnliche Themen
-
Drag n Drop
Von kerstel im Forum Javascript & AjaxAntworten: 4Letzter Beitrag: 21.01.10, 13:36 -
Drag & Drop
Von muga im Forum Javascript & AjaxAntworten: 3Letzter Beitrag: 03.08.09, 17:42 -
SWT Drag&Drop
Von HuberDe im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 0Letzter Beitrag: 27.09.07, 08:15 -
Drag & Drop mit <tr> ?!
Von ev0lst im Forum Javascript & AjaxAntworten: 3Letzter Beitrag: 12.08.07, 10:23 -
SWT: Ghosted Drag-Image bei Drag & Drop
Von snake_plissken im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 1Letzter Beitrag: 15.04.06, 23:36





Zitieren


Login





