#1 8. Januar 2009 Drag & Drop Ich brauche Hilfe, und zwar hier mit. Ich möchte, wen ich eines der Objekte Bewege das dass Zweite sich mit bewegt in die selbe Richtung zu den selben Verhältnis wie sie sich vorher standen. Kann mir jemand die Einzelheiten erklären von JS habe ich nicht soviel ahnung, reicht meist nur für das mindeste. Letztendlich soll es sowas werden. Das mit dem Ajax und PHP lasst mal meine sorge sein ich brauche erstmal nur die Möglichkeiten eine Map so zu verschieben. + Multi-Zitat Zitieren
#2 8. Januar 2009 AW: Drag & Drop ich glaub eher, dass das hintergrundbild verschoben wird (bzw. der layer unter den beiden fenstern, die sich beim aufruf der seite aufbauen) und nicht mehrere andere layer gleichzeitig. + Multi-Zitat Zitieren
#3 8. Januar 2009 AW: Drag & Drop im grunde isses nur ne kleine änderung, ich hab das mal anhand des beispiels gemacht: HTML: <html> <head> <title>Drag-and-Drop</title> <script type="text/javascript"> <!-- gueltig fuer Netscape ab Version 6, Mozilla, Internet Explorer ab Version 4 //Das Objekt, das gerade bewegt wird. - jetzt alle objekte die bewegt werden sollen var dragobjekts = []; // Position, an der das Objekt angeklickt wurde. - wird jetzt für jedes objekt // seperat gespeichert /* var dragx = 0; var dragy = 0; */ // Mausposition var posx = 0; var posy = 0; function draginit() { // Initialisierung der Überwachung der Events document.onmousemove = drag; document.onmouseup = dragstop; } function in_array(array, value) { for(var i = 0, to = array.length; i < to; i++) { if(array[i] == value) return true; } return false; } function dragstart(element) { //Wird aufgerufen, wenn ein Objekt bewegt werden soll. dragobjekts.push([element, [posx - element.offsetLeft, posy - element.offsetTop]]); // Alle Elemente finden mit der selben class var search = element.className; var elements = document.getElementsByTagName('*'); for(var i = 0, to = elements.length; i < to; i++) { if(!elements[i].className || elements[i] == element) continue; if(!in_array(elements[i].className.split(' '), search)) continue; dragobjekts.push([elements[i], [posx - elements[i].offsetLeft, posy - elements[i].offsetTop]]); } } function dragstop() { //Wird aufgerufen, wenn ein Objekt nicht mehr bewegt werden soll. dragobjekts = []; } function drag(ereignis) { //Wird aufgerufen, wenn die Maus bewegt wird und bewegt bei Bedarf das Objekt. posx = document.all ? window.event.clientX : ereignis.pageX; posy = document.all ? window.event.clientY : ereignis.pageY; if(dragobjekts.length) { for(var i = 0, to = dragobjekts.length; i < to; i++) { with(dragobjekts[i][0]) { style.left = (posx - dragobjekts[i][1][0]) + 'px'; style.top = (posy - dragobjekts[i][1][1]) + 'px'; } } } } //--> </script> </head> <body onload="draginit()"> <div class="drag2" onmousedown="dragstart(this)" style="position:absolute;top:0px;left:0px;height:100px;width:100px;background:#ff0000"> </div> <div class="drag2" onmousedown="dragstart(this)" style="position:absolute;top:200px;left:200px;height:100px;width:100px;background:#00ff00"> </div> </body> </html> aber in deinem fall hat teh_boiiingerrr absolut recht, auf der website wird der hintergund bewegt - aber keine sorge, auch da hat der onkel murdoc schonmal was gebastelt xD http://murdoc.eu/javascripts/dragmap/ <- hintergrund anklicken wobei ich, wenn dir dieses drag/drop schon probleme macht, nicht glaube das du alleine weiterkommst danach ^^ + Multi-Zitat Zitieren
#4 8. Januar 2009 AW: Drag & Drop Da hast du wohl recht, verstehe es ja nichtmal vom Prinzp her. Der Hintergrund muss sich ja aus mehreren Teilen zusammensetzen um die Zonen gebiete individuell anzusprechen oder zu gestallten. Aber bei deinem Programm hat man ja nur die Möglichkeit ein einziges Hintergrundbild einzufügen. Wie mache ich das den? Eine Karte, an der Linke/rechts, oben/unten Pfeile wären, könnte ich ohne Probleme eine Ajax map machen aber es ist nicht so komfortabel wie die Beispielkarte besonders wen man über länger Strecken gehen muss. 2xBewertungen verteilt besonders Murdoc, vielen dank für den aufwand es so umzuschreiben + Multi-Zitat Zitieren