ftdesigner: onmousedown Drag funktioniert nicht...warum?

Hallo Leute des Selfhtmls;

Ich hab ne neue Frage und zwar zum thema drag. Ich möcht ein Bild mit drag im bildschirm umherziehen lassen.
Ich hab so weit auch ein onmousedown js geschrieben.
und das auch im bild eingepflanzt. Doch will es nicht funktionieren.
Ich bin nun mein script schon tausend mal durchgegangen um fehler zu beheben...
ich kann keine mehr finden und dennoch gehts nicht.

kann mir vieleicht jemand helfen?

hier das js

  
// JavaScript Document  
  
function drag(elemetToDrag, event) {  
 //Die Mausposition (in Fensterkoordinaten), an der das Ziehen beginnt.  
 var startX = event.clientX, startY = event.clientY;  
 //Originalposition  des Elementes.  
 var origX = elementToDrag.offsetLeft, origY = elementToDrag.offsetTop;  
 //Koordinaten ermitteln  
 var deltaX = startX - origX, deltaY = startY - origY;  
 //Registriere die Event-Handler, die auf das MouseMove-event folgt.  
 if (document.addEventListener) { //Event-Modell des DOM Level 2  
 document.addEventListener("mousemove",moveHandler, true);  
 document.addEventListener("mouseup", upHandler, true);  
 }  
 else if (document.attachEvent) { // Event-Modell des IE 5+  
 elementToDrag.setCapture();  
 elementToDrag.attachEvent("onmousemove", moveHandler);  
 elementToDrag.attachEvent("onmouseup", upHandler);  
 elementToDrag.attachEvent("onlosecapture", upHandler);  
 }  
 else{  
  var oldmovehandler = document.onmousemove;  
  var olduphandler = document.onmouseup;  
  document.onmousemove = moveHandler;  
  document.onmouseup = upHandler;  
 }  
 //Wir haben dieses Ereignis behandelt. Gib es an niemanden weiter.  
 if (event.stopPropagation) event.stopPropagation();  
 else event.cancelBubble = true;  
  
 if (event.preventDefault) event.preventDefault();  
 else event.returnValue = false;  
  
  
  
 //Diese Funktion ist für das bewegen des Elements zuständig  
  
 function moveHandler(e) {  
  if (!e) e = window.event;  
  
  elementToDrag.style.left  = (e.clientX - deltaX) + "px";  
  elementToDrag.style.top  = (e.clientY - deltaY) + "px";  
  
  //Wir zeigen dieses Ereignis niemand sonst.  
  if (e.stopPropagation) e.stopPropagation();  
  else e.cancelBubble  = true;  
 }  
  
 //Dieser Händler fängt das  mouseup-Event ab, das am Ende des Ziehens eitritt.  
  
 function upHandler(e) {  
  if (!e) e = window.event;  
  
  //Deregistiere die abfangenden Event-Handler  
  if (document.removeEventListener) {  
   document.removeEventListener("mouseup", upHandler, true);  
   document.removeEventListener("mousemove", moveHandler, true);  
  }  
  else if (document.detachEvent) { // IE 5+  
    elementToDrag.detachEvent("onlosecapture", upHandler);  
    elementToDrag.detachEvent("onmouseup", upHandler);  
    elementToDrag.detachEvent("onmousemove", moveHandler);  
    elementToDrag.releaseCapture();  
  }  
  else {  
    document.onmouseup = olduphandler;  
    document.onmousemove= oldmovehandler;  
  }  
  
  if (e.stopPropagation) e.stopPropagation();  
  else e.cancelBubble = true;  
 }  
}  

und hier das bild, das zu bewegen sein sollte:

        <img src="Bilder/bild_de.gif" style="position:absolute; left:-50%; top:-50%;" onmousedown="if (event.shiftKey) drag(this, event);">  

--
Wenn du nur zum Himmel schaust, kannst du das Gras nicht wachsen sehen...
  1. ich bins nochmal...
    kann es damit zusammen hängen, das das bild in nem div ist, das mit overflow hidden versehen ist?
    ich denk eig. nicht.

    Grüße an euch alle

    ftdesigner

    und hier das bild, das zu bewegen sein sollte:

    <img src="Bilder/bild_de.gif" style="position:absolute; left:-50%; top:-50%;" onmousedown="if (event.shiftKey) drag(this, event);">

    
    >   
    >   
    > 
    
    -- 
    Wenn du nur zum Himmel schaust, kannst du das Gras nicht wachsen sehen...
    
  2. Ich hab so weit auch ein onmousedown js geschrieben.
    und das auch im bild eingepflanzt. Doch will es nicht funktionieren.
    Ich bin nun mein script schon tausend mal durchgegangen um fehler zu beheben...

    Welchen Fehler?

    Struppi.

    1. Welchen Fehler?

      Struppi.

      hab einmal Handler kleingeschrieben...ich mein, dass ich das script nach rechtschreibfehlern durchgegangen bin. Aber es hat nach meinem wissen nun keine rechtschr. fehler mehr.
      Aber man kann sich ja immer irren.
      Vieleicht geht es ja bei euch aber bei mir nicht...
      keine ahnung
      hast du spontan ne idee?

      ftdesigner

      --
      Wenn du nur zum Himmel schaust, kannst du das Gras nicht wachsen sehen...
      1. hab einmal Handler kleingeschrieben...ich mein, dass ich das script nach rechtschreibfehlern durchgegangen bin. Aber es hat nach meinem wissen nun keine rechtschr. fehler mehr.
        Aber man kann sich ja immer irren.

        In die Fehlerkonsole hast du auch schon geschaut?

        Struppi.

        1. In die Fehlerkonsole hast du auch schon geschaut?

          Struppi.

          Mein gott, ich lern jeden tag dazu, find ich geil die fehlerkonsole.
          Nur...ich kann nichts mit dem fehler anfangen:

          Components.utils.reportError("Warning: unrecognized command line flag " + curarg + "\n");

          ftdesigner

          --
          Wenn du nur zum Himmel schaust, kannst du das Gras nicht wachsen sehen...
          1. Mein gott, ich lern jeden tag dazu, find ich geil die fehlerkonsole.
            Nur...ich kann nichts mit dem fehler anfangen:

            Components.utils.reportError("Warning: unrecognized command line flag " + curarg + "\n");

            Ich auch nicht.

            Er kommt auf jeden Fall nicht von deinem Skript. Bei einem normalen JS Fehler wird die Datei und die Zeilennummer angezeigt, ausserdem nach einem Klick auf die Meldung der Quellcode an der Stelle wo der Fehler aufgetreten ist.

            Struppi.

            1. Ich auch nicht.

              Er kommt auf jeden Fall nicht von deinem Skript. Bei einem normalen JS Fehler wird die Datei und die Zeilennummer angezeigt, ausserdem nach einem Klick auf die Meldung der Quellcode an der Stelle wo der Fehler aufgetreten ist.

              Struppi.

              Naja, bevor ich auf die fehlermeldung zeigts mir das an:
              Fehler: Warning: unrecognized command line flag -foreground

              Quelldatei: file:///Applications/Firefox.app/Contents/MacOS/components/nsBrowserContentHandler.js
              Zeile: 713

              hilft das weiter?

              --
              Wenn du nur zum Himmel schaust, kannst du das Gras nicht wachsen sehen...
              1. Naja, bevor ich auf die fehlermeldung zeigts mir das an:
                Fehler: Warning: unrecognized command line flag -foreground

                Quelldatei: file:///Applications/Firefox.app/Contents/MacOS/components/nsBrowserContentHandler.js
                Zeile: 713

                hilft das weiter?

                Das ist eine Firefox spezifische Datei und hat nichts mit deinem Skript zu tun. Du kannst die Fehlerkonsole auch löschen, dann deine Seite nochmal neu laden und das versuchen was du willst (Drag&Drop) und dann noch mal in die Fehlerkonsole schauen. Wenn dann immer noch diese Meldung da steht, weiß ich nicht weiter.

                Struppi.

                1. Das ist eine Firefox spezifische Datei und hat nichts mit deinem Skript zu tun. Du kannst die Fehlerkonsole auch löschen, dann deine Seite nochmal neu laden und das versuchen was du willst (Drag&Drop) und dann noch mal in die Fehlerkonsole schauen. Wenn dann immer noch diese Meldung da steht, weiß ich nicht weiter.

                  Struppi.

                  Ne wenn ich das so mach, dann kommt keine fehlermeldung mehr, aber dragen läßt sich das bild immer noch nicht...
                  keine ahnung

                  --
                  Wenn du nur zum Himmel schaust, kannst du das Gras nicht wachsen sehen...
                  1. Ne wenn ich das so mach, dann kommt keine fehlermeldung mehr, aber dragen läßt sich das bild immer noch nicht...

                    Was ein Zeichen ist, dass die Funktion nicht aufgerufen wird. Sowas läßt sich überprüfen z.b. in dem man ein alert() (oder auch ein window.status = '...') in die entsprechende Funktion einbaut. Du musst jetzt halt heruasfinden wo die Funktion hängt.

                    Struppi.

                    1. Was ein Zeichen ist, dass die Funktion nicht aufgerufen wird. Sowas läßt sich überprüfen z.b. in dem man ein alert() (oder auch ein window.status = '...') in die entsprechende Funktion einbaut. Du musst jetzt halt heruasfinden wo die Funktion hängt.

                      Struppi.

                      Habs!!!! hab einmal "elementToDrag" falsch geschrieben => "elemetToDrag"
                      ging deswegen nicht...doch nicht alle schreibfehler gefunden...
                      danke aber für deine hilfe.

                      Grüße

                      ftdesigner

                      --
                      Wenn du nur zum Himmel schaust, kannst du das Gras nicht wachsen sehen...
                      1. Habs!!!! hab einmal "elementToDrag" falsch geschrieben => "elemetToDrag"
                        ging deswegen nicht...doch nicht alle schreibfehler gefunden...

                        Seltsam, das hätte dann auch zu einer Fehlermeldung führen müssen.

                        Struppi.

                        1. Habs!!!! hab einmal "elementToDrag" falsch geschrieben => "elemetToDrag"
                          ging deswegen nicht...doch nicht alle schreibfehler gefunden...

                          Seltsam, das hätte dann auch zu einer Fehlermeldung führen müssen.

                          Struppi.

                          Vieleicht wars, weils in ner div eingebetet ist? Ich habs dann auf jedenfall mal nur als bild in html ausgegeben und sonst nichts, keine divs nichts
                          und da kam dann auch die fehlermeldung
                          vorher aber nicht...

                          vieleicht hats damit zu tun

                          Grüße

                          Fabrice

                          --
                          Wenn du nur zum Himmel schaust, kannst du das Gras nicht wachsen sehen...
  3. Ich bins nochmal...

    Ich hab nun das dragging hingekriegt, und das funktioniert super...zu super, denn:

    Wenn das bild zu ende ist, würd ich gerne, dass das dragging aufhört.

    Ich weiss nicht so recht, wie ich das anstellen soll.

    So hab ich mirs gedacht, aber so gehts nicht:

      
    function moveHandler(e) {  
    if (!e) e = window.event;  
    		  
    elementToDrag.style.left 	= (e.clientX - deltaX) + "px";  
    elementToDrag.style.top		= (e.clientY - deltaY) + "px";  
    if (elementToDrag.style.left == 0) (e.clientX + deltaX) + "px";  
    if (elementToDrag.style.top == 0) (e.clientY + deltaY) + "px";  
    		  
    		  
    		//Wir zeigen dieses Ereignis niemand sonst.  
    		if (e.stopPropagation) e.stopPropagation();  
    		else e.cancelBubble		= true;  
    	}  
      
    
    

    Ich hab beim suchen auch was gefunden, doch half mir das nichts.
    Den ganzen js code findet ihr in dem vorherigen post

    Ich bin euch jetzt schon sehr dankbar

    Greets

    ftdesigner

    1. Gibts keine möglichkeit, dass mir jemand antwortet?

      Ich bins nochmal...

      Ich hab nun das dragging hingekriegt, und das funktioniert super...zu super, denn:

      Wenn das bild zu ende ist, würd ich gerne, dass das dragging aufhört.

      1. Gibts keine möglichkeit, dass mir jemand antwortet?

        Es gibt Millionen funktionierender Drag&Drop Skripte für JS (u.a. auch mehrere auf meiner Seite). daher macht es halt wenig Spaß, sich zum xten-mal durch Skripte zu wühlen und immer wieder die gleichen Fehler zu korrigieren.

        Aber vielleicht findet sich ja jemand anders. Sinnvoller wäre es, wenn du veruschen würdest aus den anderen Skripten zu lernen.

        Struppi.

        1. | Gibts keine möglichkeit, dass mir jemand antwortet?

          Es gibt Millionen funktionierender Drag&Drop Skripte für JS (u.a. auch mehrere auf meiner Seite). daher macht es halt wenig Spaß, sich zum xten-mal durch Skripte zu wühlen und immer wieder die gleichen Fehler zu korrigieren.

          klare antwort...

          Aber vielleicht findet sich ja jemand anders. Sinnvoller wäre es, wenn du veruschen würdest aus den anderen Skripten zu lernen.

          dann muss ich das wohl mal machen. Ich habs auch schon versucht, doch hab ich nicht ganz verstanden, wo ich ansetzen muss, aber was solls, dann mach ich halt weiter

          Struppi.

          danke dir

          --
          Wenn du nur zum Himmel schaust, kannst du das Gras nicht wachsen sehen...