freddyx: JavaScript Funktionsaufruf bei OnMouseOver

Hallo zusammen

Also ich sitze hier ratlos vor etwas für mich unerklärbarem!:

function bereichauswahl(i)
// ENDE -->
function bereichbesucht(i)
if (this.document.getElementById('b' + i).bgcolor=="#00FFFF") {
 {this.document.getElementById('b' + i).className = 'Seite';}
else
 {this.document.getElementById('b' + i).className = 'Bereich';}}
// ENDE -->
</script>

<style type="text/css">
<!--
a { color:black; text-decoration: none; }
.besuch { background-color:#003366; color:yellow; cursor:3; }
.Seite { background-color:#00FFFF; font-color:#000000; cursor:1;}
</style>
</head>
<body>

<table>
<tr height="21">

<a target="Frame3" href="Links2.html"><td ID="b1" align="center" bgcolor="#FFFFFF" border="1" style="cursor:hand; border-style: solid; border-width: 1" OnMouseover="bereichauswahl('1')" OnMouseOut="bereichbesucht('1')" width="119">Startseite</td></a>

So also ich verwende keinen Editor der auch markiert was denn falsch sein könnte. Und so mach ich das mit dem IE der Skriptfeholer anzeigt. Und der meldet mir Objekt erforderlich in Zeile 70!?!?!?!?

Aber was ist hier falsch?????

DANKE im Voraus!

  1. Hallo,

    nach function bla() folget ein {, welches auch wieder geschlossen werden muss !

    also so:

    function bla()
    {
    Inhalt ...
    }

    mfg
    ff

    1. hallo

      also erst einmal Super schnelle Antwort! Vielen Dank. Das Problem ist damit trozdem nicht gelöst.

      Und nun?

  2. Hallo,

    function bereichbesucht(i)
    if (this.document.getElementById('b' + i).bgcolor=="#00FFFF") {
     {this.document.getElementById('b' + i).className = 'Seite';}
    else
     {this.document.getElementById('b' + i).className = 'Bereich';}}

    • this ist hier fehl am Platze
    • verwende im Script-Kontext bgColor statt bgcolor oder getAttribute("bgcolor")
    • lt. Stylesheet gibt es die Klassen "besuch" und "Seite", "Bereich" sehe ich nicht.

    .besuch { background-color:#003366; color:yellow; cursor:3; }

    Was bezweckt "cursor:3;"?

    .Seite { background-color:#00FFFF; font-color:#000000; cursor:1;}

    Die Eigenschaft "font-color" gibt es nicht.
    Was bezweckt "cursor:1;"?

    style="cursor:hand; border-style: solid; border-width: 1" OnMouseover="bereichauswahl('1')" OnMouseOut="bereichbesucht('1')"

    cursor:hand --> cursor:pointer
    border-width:1 --> border-width:1px

    Aber was ist hier falsch?????

    Naja, da ist eher wenig richtig ;-).

    MfG, Thomas

    --
    SVG - Learning By Coding
    http://svglbc.datenverdrahten.de/
  3. Moin!

    Hallo zusammen

    Also ich sitze hier ratlos vor etwas für mich unerklärbarem!:

    Ist mir auch unerklärbar, wie man soviele Fehler einbauen kann...

    function bereichauswahl(i) {}

    function bereichbesucht(i) {
       if (document.getElementById('b' + i).style.backgroundColor=="#00FFFF")  {
           document.getElementById('b' + i).className = 'Seite';

    } else {
           document.getElementById('b' + i).className = 'Bereich';
          /*
          Die Klasse 'Bereich' ist (noch) nicht definiert.
          Was sollen die "this...."?
          */
       }
    }
    </script>

    <style type="text/css">
    <!--
    a {
      color             :black;
      text-decoration   :none;
    }
    .besuch {
      background-color  :#003366;
      color             :yellow;
      cursor            :3;  /* Was ist das? */
    }
    .Seite {
      background-color :#00FFFF;
      color            :#000000;   /* font-color heisst nur color! */
      cursor           :1;         /* Was ist das? */
    }
    </style>

    </head>
    <body>
      <table>
        <tr height="21"><!-- Tabellen haben kein Höhe, Zielen und Zellen auch nicht -->
       <!-- Du hast falsch tr, td und a verschachtelt, das kann nicht gutgehen -->
       <td
         ID="b1"
         align="center"
         bgcolor="#FFFFFF"
         border="1"
         width="119"
         style="cursor:hand; border-style: solid; border-width: 1"
         onnouseover="bereichauswahl('1')"
         onmouseout="bereichbesucht('1')"><a target="Frame3" href="Links2.html">Startseite</a></td>
       <!-- Was ist das denn? willst Du die Eigenschaften per CSS und HTML gemischt festlegen? -->

    Und der meldet mir Objekt erforderlich in Zeile 70!?!?!?!?

    Es wäre hilfreich gewesen, zu wissen Zeile die Nr. 70 hat.

    Aber was ist hier falsch?????

    Das HTML, das CSS und das Javascript.

    Nimm den Rat an:
      a) künftig strukturiert zu notieren
      b) Deine Seite zu validieren
          bookmarke hierzu: http://validator.w3.org
          und:               [linl:http://jigsaw.w3.org]

    Benutze die Tools des Mozillas zum Java- Skript reparieren. Ich meine die Javascript- Konsole.
    Deren Meldungen sind aussagekräftiger als der Mist, den der IE schmeisst.

    DANKE im Voraus!

    Bitte sehr.

    MFFG (Mit freundlich- friedfertigem Grinsen)

    fastix®

    --
    Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Development. Auch  für seriöse Agenturen.
  4. Hallo freddyx
    Versuchs mal mit dem kleinen Code unten und schau Dir genau
    die Klammersetzung in Deiner Funktion sowie die Schreibweise des bgColor-Attr. an. Und lies unbedingt nochmal über die Verwendung des this-Zeigers nach, den Du hier nicht brauchst.
    Gruß Paul

    <!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN">
    <html>
    <head>
    <title> New Document </title>
    <style type="text/css">
    <!--
    a { color:black; text-decoration: none; }
    .besuch { background-color:#003366; color:yellow; cursor:3; }
    .Seite { background-color:#00FFFF; font-color:#000000; cursor:1;}
    </style>

    <script language="javascript" type="text/javascript">

    function bereichauswahl(i){

    alert(document.getElementById('b' + i).bgColor);// Test-Anzeige
    }
    function bereichbesucht(i){

    alert(document.getElementById('b' + i).bgColor);// Test-Anzeige

    if (document.getElementById('b' + i).bgcolor=="#00FFFF") {
     document.getElementById('b' + i).className = 'Seite';}
    else
     {document.getElementById('b' + i).className = 'Bereich';}
    }
    </script>

    </head>
    <body>

    <table border=1>
    <tr height="21">

    <td ID="b1" align="center" bgcolor="#FFFFFF" border="1" style="cursor:hand; border-style: solid; border-width: 1" OnMouseover="bereichauswahl('1')" OnMouseOut="bereichbesucht('1')" width="119"><a target="Frame3" href="Links2.html">Startseite</a></td></tr></table>

    </body>
    </html>

    1. Ok

      Erstmal vielen Dank an Euch für Eure Antworten! Aber vielleicht habt Ihrt mich nicht richtig verstanden. Ich wollte eigentlich das nicht nur der Text den Link darstellt, sondern die gesamte Zelle der Tabelle! Also muß ich doch die gesamte Zelle in den Link einbeziehen:

      <a target="Frame3" href="Links2.html"><td ID="b1" align="center" bgcolor="#FFFFFF" border="1" style="cursor:hand; border-style: solid; border-width: 1" OnMouseover="bereichauswahl('1')" OnMouseOut="bereichbesucht('1')" width="119">Startseite</td></a>

      Und erhalte dann wieder die Fehlermeldungen!

      Schade und würde mich über weitere Antworten freuen!

      Gruß

  5. DANKE DANKE DANKE DANKE DANKE DANKE DANKE DANKE DANKE DANKE DANKE DANKE DANKE DANKE DANKE DANKE DANKE DANKE DANKE DANKE DANKE DANKE DANKE DANKE DANKE DANKE DANKE DANKE DANKE DANKE DANKE DANKE DANKE DANKE DANKE DANKE DANKE DANKE DANKE DANKE DANKE DANKE DANKE DANKE DANKE DANKE DANKE DANKE DANKE DANKE DANKE DANKE DANKE DANKE DANKE

    Mein Fehler gewesen!

    Hat sich geklärt!!!!!!

    Also Gruß an ALLE und noch mal viel Dank!