Fehler im Script
piet
- javascript
Hallo,
ich habe mir eine Funktion geschrieben welche mir beim Doppelclick ein Fadenkreuz auf meine Grafik bringt. Das Fadenkreuz besteht aus zwei Linien die ich einfach positioniere.
1. Funktion geht unter Konqueror und Explorer
Bei Mozilla aber bringt er die Fehlermeldung
"Fehler: h is not defined"
Warum ??????
2. Die Seite auf die ich mein Bild setze wird größer.
d.h. Obwohl das Bild mit der Webseite auf meinem Bildschirm passt, werden
trotzdem die Scrollleisten horizontal/vertikal abgezeigt und ich kann die
Seite Scrollen obwohl nicht's mehr das ist.
Ebenfalls ??????
Hier der Code:
<html><head>
<title>Tagesdiagramm</title>
<meta http-equiv="cache-control" content="no-cache">
<meta HTTP-EQUIV="expires" content="0">
<script language="JavaScript" type="text/javascript">
function fadenkreuz_setzen()
{
var x=0, y=0;
x = window.event.clientX
y = window.event.clientY
h.style.top = y;
v.style.left = x;
}
function fadenkreuz_loeschen()
{
h.style.top = 220;
v.style.left = 220;
}
document.ondblclick = fadenkreuz_setzen;
document.onclick = fadenkreuz_loeschen;
</script>
</head>
<body bgcolor="#CDCECD">
<div style="position:absolute; top:1px ; left:1px ; cursor:crosshair; align:center ;">
<img src="/diagramm/Tagesdiagramm.png" alt="Tagesdiagramm" width="850" height="500" border="1">
</div>
<div id="h" style="position:absolute ; left:50 ; top:0 ;">
<img src="/gif/horizont.gif" alt="horizont">
</div>
<div id="v" style="position:absolute ; top:30 ; left:0 ;">
<img src="/gif/vertikal.gif" alt="vertikal">
</div>
</div>
</body>
</html>
Danke
piet
Hi,
"Fehler: h is not defined"
Warum ??????
weil es keines der Grundobjekte ist und Du nirgendwo eine Variable dieses Namens deklariert hast.
- Die Seite auf die ich mein Bild setze wird größer.
Kann ich hier nicht nachvollziehen, das Script funktioniert nicht.
Ebenfalls ??????
Deine Fragezeichen-Taste ist offenbar defekt, überprüfe bitte Deine Tastatur.
h.style.top = 220;
Sollte es sich bei "h" um ein DOM-Objekt handeln, wäre der zugewiesene Wert falsch. "0" ist der einzige Längenwert, der ohne Einheit auskommt.
<body bgcolor="#CDCECD">
Mache das lieber mit CSS.
<div style="position:absolute; top:1px ; left:1px ; cursor:crosshair; align:center ;">
CSS kennt keine Eigenschaft namens "align".
<div id="h" style="position:absolute ; left:50 ; top:0 ;">
"50" ist kein gültiger Wert für "left".
<div id="v" style="position:absolute ; top:30 ; left:0 ;">
"30" ist kein gültiger Wert für "top".
Cheatah
Hallo piet,
- Funktion geht unter Konqueror und Explorer
Bei Mozilla aber bringt er die Fehlermeldung"Fehler: h is not defined"
Warum ??????
Innerhalb der Funktion fadenkreuz_setzen() und fadenkreuz_loeschen() wird h und v als Objekte genutzt, die es nicht gibt.
Wenn ich Dein Script richtig verstehe, gilt für beide:
x=document.getElementById('x')
Somit sind Sie auch definiert.
- Die Seite auf die ich mein Bild setze wird größer.
d.h. Obwohl das Bild mit der Webseite auf meinem Bildschirm passt, werden
trotzdem die Scrollleisten horizontal/vertikal abgezeigt und ich kann die
Seite Scrollen obwohl nicht's mehr das ist.Ebenfalls ??????
Blockelemente nehmen eine breite von 100% an, werden sie verschoben, so werden sie nicht automatisch kleiner.
Dein Script sollte aber auch noch funktionieren, wenn Du den Bildern die IDs zuweist und beide divs streichst.
Gruß aus Berlin!
eddi