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