Style-Attribut kann nicht geändert werden

  • Ich habe folgendes Problem:
    Ich möchte für meine Navi eine Infobox machen, d.h. wenn man einen Menüpunkt hovert, erscheint ein kästchen darunter mit unterlinks. Mit CSS ist das ziemlich schiefgegangen ;). Nun hab ich einfach für jeden Menüpunkt die Box geamcht, hab sie gestylt und denen display: none; verpasst. Dann hab ich folgende JS funktionen geschrieben:

    Code
    function showinfo(box) {
        var id=box+"_info";
        var showbox=document.getElementById(id);
        showbox.style="width: 750px;height: 20px;background: #000000;border: 1px solid #1E2226;display: true;";
    }
    function hideinfo(box) {
        var id=box+"_info";
        var showbox=document.getElementById(id);
        showbox.style="width: 750px;height: 20px;background: #000000;border: 1px solid #1E2226;display: none;";
    }


    Aber die Fehlerkonsole gibt folgendes aus:

    Zitat


    setting a propperty that only has a getter


    Das heisst ja, dass man das style Attribut nicht änderbar ist. Gibt es eine andere möglichkeit diese Box sichtbar zu machen?

    Der, der weiß dass er nichts weiß, weiß mehr als der, der nicht weiß, dass er nichts weiß.

    Wer nach etwas fragt, geht grundsätzlich das Risiko ein, es auch zu bekommen!

  • jede Eigenschaft einzeln ändern:

    Code
    box.style.eigenschaft = wert;

    Grüße,
    jojo

    Edit:// Am besten für dich ist also, wenn du alle eigenschaften ausser "display" in eine css-Klasse auslagerst (da alle anderen ja gleich sind) und nur die Display-Eigenschaft änderst:

    Code
    showbox.style.display = "block"; // nicht true ;)
    
    
    showbox.style.display = "none";


    Einmal editiert, zuletzt von jojo87 (10. August 2009 um 14:01)

  • ist bereits in einer klasse. Hat geklappt, DANKE!

    Der, der weiß dass er nichts weiß, weiß mehr als der, der nicht weiß, dass er nichts weiß.

    Wer nach etwas fragt, geht grundsätzlich das Risiko ein, es auch zu bekommen!

    Einmal editiert, zuletzt von Tobse (10. August 2009 um 14:09)

  • Jetzt hab ich aber noch ein Problem:
    es funktioniert super, aber ich will die box jetzt auffahren, d.h. width und height verändern. Aber der Text lässt sich nicht unsichbar machen, wenn die box noch width: 0px und height: 0px hat.

    P.S.:
    Ich hab jetzt extra neu geantwortet, damit man die aktuallisierung sieht, da ich davon ausgehe, dass man das bei einem EDIT nicht sieht.

    Der, der weiß dass er nichts weiß, weiß mehr als der, der nicht weiß, dass er nichts weiß.

    Wer nach etwas fragt, geht grundsätzlich das Risiko ein, es auch zu bekommen!

    Einmal editiert, zuletzt von Tobse (10. August 2009 um 18:22)