obiwan1973: Ebenen mit der Maus hin- und herschieben

Beitrag lesen

Hallo zusammen,

ich benutze folgenden JS-Code, um Ebenen (die dynamischen Web-Content enthalten) mit der Maus auf dem Bildschirm hin- und herzuschieben.

Das Beispiel habe ich mir vor einigen Jahren irgendwo geklaut.
Ich finde leider die Seite nicht mehr.

Der JS-Code sieht folgendermaßen aus:

  
  
<SCRIPT LANGUAGE="JavaScript">  
<!--  
  
//----------------------------------------------------------  
  
var objDrag = null;	// Element, über dem Maus bewegt wurde  
  
var mouseX 	 = 0;	// X-Koordinate der Maus  
var mouseY 	 = 0;   // Y-Koordinate der Maus  
  
var offX = 0;		// X-Offset des Elements, das geschoben werden soll  
var offY = 0;		// Y-Offset des Elements, das geschoben werden soll  
  
  // Browserweiche  
	IE = document.all&&!window.opera;  
	DOM = document.getElementById&&!IE;  
  
  // Initialisierungs-Funktion  
  function init(){  
	  // Initialisierung der Überwachung der Events  
	  document.onmousemove = doDrag;  
	  document.onmouseup = stopDrag;  
  }  
  
  // Wird aufgerufen, wenn die Maus über einer Box gedrückt wird  
	function startDrag(objElem) {  
  	// Objekt der globalen Variabel zuweisen -> hierdurch wird Bewegung möglich  
    objDrag = objElem;  
  
    // Offsets im zu bewegenden Element ermitteln  
    offX = mouseX - objDrag.offsetLeft;  
    offY = mouseY - objDrag.offsetTop;  
	}  
  
  // Wird ausgeführt, wenn die Maus bewegt wird  
	function doDrag(ereignis) {  
  	// Aktuelle Mauskoordinaten bei Mausbewegung ermitteln  
    mouseX = (IE) ? window.event.clientX : ereignis.pageX;  
    mouseY = (IE) ? window.event.clientY : ereignis.pageY;  
  
  	// Wurde die Maus über einem Element gedrück, erfolgt eine Bewegung  
    if (objDrag != null) {  
    	// Element neue Koordinaten zuweisen  
      objDrag.style.left = (mouseX - offX) + "px";  
      objDrag.style.top = (mouseY - offY) + "px";  
  
      // Position in Statusleiste ausgeben  
	    window.status = "Box-Position: " + objDrag.style.left + ", " + objDrag.style.top;  
    }  
	}  
  
  // Wird ausgeführt, wenn die Maustaste losgelassen wird  
	function stopDrag(ereignis) {  
  	// Objekt löschen -> beim Bewegen der Maus wird Element nicht mehr verschoben  
    objDrag = null;  
	}  
  
//-----------------------------------------------------------  
  
-->  
</SCRIPT>  
  

Der Body der Seite wird mit folgendem JS-Code versehen:

  
  
<body onLoad="init();">  
  

Die Ebene wird mit folgendem JS-Code versehen:

  
  
<div id="div_containerinfolist" name="div_containerinfolist" onmousedown="startDrag(this);">  
  
  ...  
  
</div>  
  

Eines möchte ich klar stellen. Das funzt. Im Normalfall 1a.

Mein Spezialfall sind Ebenen, die mit Web-Content nur so vollgestopft sind. Es geht dann immer noch, nur beim Bewegen der Ebene ruckelt es ein wenig. Mir wärs egal. Die Kollegen maulen.

Gibt es irgendeine Chance, das Ruckeln abzuschalten?

Gruß aus Sachsenheim

Tommy