zerko: BgColor ändert sich nicht...!!

Hey...

Ich habe eine Tabelle mit 2 Zeilen...
In der 1 Zeile befinden sich links und in der Zeile darunter sind keine Inhalten, diese Spalten sind nur grau.

Jetzt will ich beim überfahren des Link, dass sich die Spalte in der nächsten Zeile ändert.

function setLink (SetObject, SetMode){
   if(setObject != null){
      switch (SetMode) {
         case "In":
              SetObject.style.bgColor = "#FFFFFF";
            break;
         case "Out":
              SetObject.style.bgColor = "#000000";
            break;
        }    // End Switch
    }  // End IF
} // End Function

Der Aufruf im Link..
    <td onMouseOut="javascript: setMouseOut('Test', 'Out');"
        onMouseOver="javascript: setMouseOut('Test', 'In');">

Die Tabelle darunter enthält nur ID's
    <td height="5" id="Test"></td>

Es funktioniert leider nicht??
Kann ich die Spalte einfach über die ID ansprechen oder geht das nicht?? Danke :)

Gruß
zerko

  1. Hi,

    function setLink (SetObject, SetMode){

    laut Deinem Aufruf ist SetObject ein String.

    SetObject.style.bgColor = "#FFFFFF";

    Es existiert keine CSS-Eigenschaft namens "bg-color". Zudem prüfst Du nicht, ob das style-Object überhaupt bekannt ist.

    <td onMouseOut="javascript: setMouseOut('Test', 'Out');"

    Was bezweckst Du mit diesem ominösen "javascript:"?

    Kann ich die Spalte einfach über die ID ansprechen

    Nein, selbstverständlich geht sowas nicht, wie kommst Du auf die Idee?

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

      Könnte ich ein Div in der Spalte darunter erstellen und es dann die Hintergrundfarbe zu ändern??
      Würde es mit diesem ansatz klappen??

      1. Hi,

        Könnte ich ein Div in der Spalte darunter erstellen und es dann die Hintergrundfarbe zu ändern??

        abgesehen davon, dass mit aller Wahrscheinlichkeit eine Tabelle nicht zu rechtfertigen ist, ist der HTML-Code weder Dein Problem noch ein Lösungsansatz. Der JavaScript-Code basiert auf wildem Raten - das klappt _nie_.

        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. Hi Zerko,

    der Gedankenansatz ist schon ok. Nur ist der Parameter 'SetObject'
    vom Typ String mit dem Inhalt 'Test'. Du musst erst eine Variable
    vom Typ Objekt daraus machen. So z.B.:

    function setLink (SetObjectID, SetMode){
       var SetObject = document.getElementById(SetObjectID);

    Dann kannst Du mit ihr so weiterarbeiten, wie Du es gemacht hast.

    Eine einfachere Methode besteht darin, anstatt der Object-IDs die
    Systemvariable 'this' zu verwenden. So z.B.:

    <td onMouseOut="javascript: setLink(this, 'Out');">

    Sie ist vom Typ Objekt und repräsentiert das <td>-Tag in dem sie steht. Mit ihr kann man dann direkt weiterarbeiten.

    Wie das genau geht findest Du in diesem hübschen Beispiel
    http://aktuell.de.selfhtml.org/tippstricks/dhtml/draganddrop/index.htm

    Gruß Groophty

  3. Hallo,

    bei dir geht da einiges durcheinander, es fehlen offenbar Grundlagen.

    onMouseOver ist kein Link sondern eher etwas wie eine JavaScript-Schnittstelle im HTML-Code.

    Dieser Eventhandler kann bei deinem Beispiel nur vorher von dir erstellte Funktionen aufrufen, also wäre da setLink('Test', 'In') o.ä. nötig usw..

    Mal einfach ein Beispielcode damit du siehst dass "Spalte einfach über die ID ansprechen" schon möglich ist wenn die Syntax stimmt.

    <table><tr><td
    onmouseover="document.getElementById('Test').style.backgroundColor='red'">
    xxxxxxxxx</td><td id="Test">tttttttt</td></tr></table>

    Damit stehen dir auch noch ein paar Suchbegriffe zur Verfügung, schau in SelfHTML bei JavaScript getElementById nach, oder backgroundColor und background-color unter CSS usw., oder ID, damit du auch siehst wie es funktioniert und es für dich anpassen kannst.

    Grüsse

    Cyx23