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

Firefox mit js in aspx

Status
Für weitere Antworten geschlossen.

htmlvisitor

Neues Mitglied
Hallo,

Wie muss dieser Code geändert werden, damit auch Firefox oder Safari richtig damit umgeht? IE hat damit kein Problem.

Patrick

js code in aspx Datei:

function show(_this)
{
document.getElementById("enlarge_images").innerHTML = "<img src='" + _this.src + "'+'width=216 height=88' >";
}
function hide(_this)
{
document.getElementById("enlarge_images").innerHTML = "";
}
function move_layer(event)
{
event = event || window.event;
enlarge_images.style.left=event.clientX+document.body.scrollLeft+10;
enlarge_images.style.top=event.clientY+document.body.scrollTop+10;
}
document.onmousemove = move_layer;
 
Es heißt innerHTML, nicht innerHTM L, ist das erste, was mir auffällt.
b ody und bo dy gibt es auch nicht, das heißt body.
 
Problem nicht gelöst

Hallo,

die unverständlichen Lücken bei "innerHTM L" und "b ody" haben sich offenbar beim Pasten ins Forum hineingeschmuggelt :-)

Der Original-Code, den ich testete, ist diesbezüglich korrekt.

Patrick
 
Und was davon geht nicht? Das sind 3 Funktionen die miteinander nichts zu tun haben. Was sagt die Fehlerkonsole?
 
Fehlerconsole

Hallo,

Hier der ganze Code. Die rote Zeile wird in der Fehlerconsole des Firefox angekreidet: "enlarge_images ist not defined", sofern wir uns in einer aspx Datei befinden.
Im IE ist alles kein Problem.

<html xmlns="XHTML namespace">
<head runat="server">
<title>lance</title>
</head>
<body>
<script type="text/javascript">
function show(_this)
{
document.getElementById("enlarge_images").innerHTML = "<img src='" + _this.src + "'+'width=400 height=400' border=1>";
}
function hide(_this)
{
document.getElementById("enlarge_images").innerHTML = "";
}
function move_layer(event)
{
event = event || window.event;
enlarge_images.style.left=event.clientX+document.body.scrollLeft+10;
enlarge_images.style.top=event.clientY+document.body.scrollTop+10;
}
document.onmousemove = move_layer;
</script>
<img height="100" onmouseout="hide(this)" onmouseover="show(this)" src="image1.jpg" style="border: 1px #000000 solid" width="100" alt=""><p>
&nbsp;</p>
&nbsp;<img height="100" onmouseout="hide(this)" onmouseover="show(this)" src="image1.jpg" style="border: 1px #000000 solid" width="100" alt=""><p>
&nbsp;</p>
&nbsp;<img height="100" onmouseout="hide(this)" onmouseover="show(this)" src="image1.jpg" style="border: 1px #000000 solid" width="100" alt="">
<div id="enlarge_images" style="position: absolute; z-index: 2">
</div>
</body>
</html>
 
Ja, da hast du doch dann auch schon die Antwort, du rufst enlarge_images.style.... auf, ohne vorher die Variable zu erstellen.

Code:
var enlarge_images = document.getElementById("enlarge_images");
oder wie in den Funktionen vorher
Code:
document.getElementById("enlarge_images").style...
sollte das Problem beseitigen.
 
ja, vielen Dank, so klappt es:

rot sind die geänderten Linien. . .

function show(_this)
{
document.getElementById(
"enlarge_images").innerHTML = "<img src='" + _this.src + "'+' border=1>";
}
function hide(_this)
{
document.getElementById(
"enlarge_images").innerHTML = "";
}
function move_layer(event)
{
event = event || window.event;
document.getElementById(
"enlarge_images").style.left=event.clientX+document.body.scrollLeft+10+"px";
document.getElementById(
"enlarge_images").style.top=event.clientY+document.body.scrollTop+10+"px";
}
document.onmousemove = move_layer;
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben