• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Bild "an der Leine" der Maus

stwe1

Neues Mitglied
Hallo,
ich habe ein Problem.
Ich möchte mit der Maus über ein Raster (ein Bild) fahren und dann soll der Maus ein zweites Bild "angehängt" werden.
Das habe ich auch schon geschafft, jedoch will ich, dass, wenn man mit der Maus das Raster verlässt, das "angehängte" Bild auch sofort wieder verschwindet.
Zudem klappt da irgendetwas mit der Transparenz der PNG-Bilder nicht.

Quelltext:
Code:
<html><head>
<title>The End of Destiny - BETA</title>
<script language="JavaScript">
var raster = "<img src=\"images/raster_2x2.png\">";


function rasterbewegen()
{
document.all.Springer.style.left = window.event.clientX - 200;
document.all.Springer.style.top = window.event.clientY - 200;


rasterzeichnen();
}


function rasterzeichnen()
{
document.all.raster.innerHTML = raster;
}


function rasterweg()
{


}
</script>
</head>
<body style="background-color:CCCCCC">
<div id="feld" style="position:absolute; height:401px; width:601px; background:url('images/raster_bg.png'); top:200px; left:200px;" onmousemove="rasterbewegen()" onmouseout="rasterweg()">
<div id="Springer" style="position:absolute;"><p id="raster"></p></div>
</div>
</body>
</html>

Bei der Funktion "rasterweg()" weiß ich halt nicht, was da hin muss.

Hier der Link: The End of Destiny - BETA

Ganz am Ende möchte ich dann auch noch erreichen, dass das Raster nicht flüssig mitläuft, sondern nur in 2x2 Feldern sein kann, also immer mitspringt, wenn ich in ein anderes 2x2 Feld reingehe.
Der krönende Abschluss soll sein, dass bei einem Klick eine neue Grafik auf dem Hintergrundraster erscheint und auch dort bleibt.

Was auch gut wäre, ist, wenn ich das mit einem Button steuern könnte. Also z.B. "Grafik setzen" und "Abbrechen". Bei "Grafik setzen" wir die onMouseOver-, onMouseOut- und onClick-Funktion aktiv und bei "Abbrechen" wird wieder alles inaktiv.

LG stwe1
 
Die erste Frage lässt sich sehr leicht beantworten:
Code:
function rasterweg()
{
document.all.raster.innerHTML = "";
}
 
Danke, aber das behebt das Problem nicht vollständig. Wenn man nach links oder nach oben über das Bild geht, ist das sofort weg, aber wenn ich nach links oder nach unten gehe, ist es unterschiedlich, wann es verschwindet. :(
 
Das Wegschalten basiert ja auf dem onmouseout und das triggert erst, wenn die Maus das Element verlassen hat. Da die Quadrate rechts unten an der Maus hängen, ragen sie dann schon über das Schachbrett hinaus. Wenn Du das beheben willst, musst Du in der Funktion rasterbewegen() prüfen, ob sich das Quadrat noch vollständig innerhalb der Grundfläche befindet.
Leider funktioniert deine Seite nur im IE, da sich die Abfrage der Mausposition im FF unterscheidet:
SELFHTML: JavaScript / Objektreferenz / event
Mit Google findest Du Funktionen, die die Mausposition browserunabhängig ermitteln, z. B. hier:
Wie finde ich die Mausposition? [Javascript ist Toll!]
 
Zurück
Oben