piet: Fehler im Script

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

  1. Hi,

    "Fehler: h is not defined"
    Warum ??????

    weil es keines der Grundobjekte ist und Du nirgendwo eine Variable dieses Namens deklariert hast.

    1. 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

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
  2. Hallo piet,

    1. 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.

    1. 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

    --
    Manchmal trifft es einen doch ganz unverhofft t86591:
    > '..."Vorläufig abgebrochen" ist ungefähr so sinnvoll formuliert, wie "einstweilig erschossen" oder "temporär verbrannt"...'
    Ich danke Sven für diese Erkenntnis - Gott, was habe ich gelacht ;)