Verschieben von Bildern durch Drag and Drop-Events
tomgk
- javascript
0 Florian Stascheck2 molily0 tomgk
0 Struppi
Hallo,
Ich habe es geschaft divs durch Drag and Drop-Events mit Javascripts zu verschieben.
Wenn ich das auf Bilder anwende funktionierts nicht.
Bild in einen DIV funktioniert auch nicht.
Ich verwende FF3.
MfG
tomgk
Hallo,
Oh, das tut mir wirklich Leid, aber meine Astrologie-Ausbildung beschränkt sich auf die Vorhersage des Wetters. Wie lautet denn dein Code, wir müssen das nämlich auf die traditionelle Art und weise per posting im forum machen. Tut mir echt Leid. Die alternative wäre, du schaltest VNC bei dir ein und gibst mir die Zugangsdaten zu deinem Admin-Konto.
mfg, Flo
Hallo,
nett, dass du uns diese Mitteilung machst. Hast du auch eine Frage und möchtest Hilfe?
Für Bilder bieten Browser üblicherweise selbst Drag'n'Drop an. Ich vermute mal, darum geht es dir. Das kannst du z.B. unterbinden, indem du für gewisse Drag-Events (etwa dragstart) bei den Bildern einen Handler registrierst, in dem du die Standardaktion unterbindest (return false). So sollte ein browserseitiges Drag'n'Drop von Bildern im Firefox unterbunden werden, sodass dein Script greifen kann.
https://developer.mozilla.org/En/DragDrop/Drag_and_Drop
https://redaktion.selfhtml.org/selfhtml-preview/javascript/einbindung.html#standardaktion (SSL-Warnungen wegklicken.)
Mathias
Hallo,
Ich kapiers nicht.
Hier mein Derzeitiger Code:
<html>
<head>
<script src="JS/Draganddrop.js" type="text/javascript"></script>
<script type="text/javascript">
</script></head>
<body>
<div id="box" onmousedown="dragstart(this)" style="position:absolute;top:200px;left:0px;height:100px;width:100px;background:#00ff00"> </div>
<img id="bild" onmousedown="dragstart(this)" src="../Images/working.gif" align=middle valign=center>
<script>
draginit("box",drag, dragstop);
draginit("bild",drag, dragstop);
</script>
</body>
</body>
</html>
Und Draganddrop.js:
//Das Objekt, das gerade bewegt wird.
var dragobjekt = null;
// Position, an der das Objekt angeklickt wurde.
var dragx = 0;
var dragy = 0;
// Mausposition
var posx = 0;
var posy = 0;
//Höchster Z-Index
var zIndex=0;
function draginit(elementID,onmove,onup)
{
// Initialisierung der Überwachung der Events
document.getElementById(elementID).onmousemove=onmove
document.getElementById(elementID).onmouseup = onup;
return false;
}
function dragstart(element)
{
//Wird aufgerufen, wenn ein Objekt bewegt werden soll.
dragobjekt = element;
dragx = posx - dragobjekt.offsetLeft;
dragy = posy - dragobjekt.offsetTop;
//zIndex erhöhen!
++zIndex;
element.style.zIndex=zIndex;
return false;
}
function dragstop()
{
//Wird aufgerufen, wenn ein Objekt nicht mehr bewegt werden soll. Ansonsten würde Element an Mauszeiger kleben!
dragobjekt=null;
return false;
}
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(dragobjekt != null)
{
dragobjekt.style.left = (posx - dragx) + "px";
dragobjekt.style.top = (posy - dragy) + "px";
}
return false;
}
Wie schon gesagt: Es funktionier nur beim DIV.
MfG
tomgk
Ich habe es geschaft divs durch Drag and Drop-Events mit Javascripts zu verschieben.
Wenn ich das auf Bilder anwende funktionierts nicht.
Bild in einen DIV funktioniert auch nicht.
Bei mir schon http://javascript.jstruebig.de/javascript/67/ und http://javascript.jstruebig.de/skripte/57/
Struppi.