Holger.: Fehler gesucht

Hi,

ich habe ein Javascript,

  
function tabo(a,b,c,d,e,f) {  
//	alert(a+b+c+d+e+f);  
document.getElementById(a).style.display = "block";  
document.getElementById(b).className = "tab_aktiv";  
  
document.getElementById(c).style.display = "none";  
document.getElementById(d).className = "tab";  
  
document.getElementById(e).style.display = "none";  
document.getElementById(f).className = "tab";  
}  

das ich über

  
tabo('tab2','ta2','tab1','ta1','tab3','ta3');  

aufrufe.

Leider funktioniert nur das Annehmen der Klasse. Aber die Display-Eigenschaft ändert sich nicht.

tab1 bleibt sichtbar, es sollte aber tab2 sein.

Sieht jemand den Fehler?

Holger

  1. @@Holger.:

    nuqneH

    function tabo(a,b,c,d,e,f) {
    // alert(a+b+c+d+e+f);
    document.getElementById(a).style.display = "block";
    document.getElementById(b).className = "tab_aktiv";

    document.getElementById(c).style.display = "none";
    document.getElementById(d).className = "tab";

    document.getElementById(e).style.display = "none";
    document.getElementById(f).className = "tab";
    }

    
    >   
    > Sieht jemand den Fehler?  
      
    Der Fehler ist, mit JavaScript CSS-Eigenschaften zu ändern.  
      
    ~~~css
    .tab {display: none}  
    .tab_aktiv {display: block}
    

    Und barrierefrei sollte man das auch machen.

    Qapla'

    --
    „Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer)
    1. Der Fehler ist, mit JavaScript CSS-Eigenschaften zu ändern.

      Du meinst, dieses JS-Feature ist fehlerhaft? Wo kann man den Bug melden?

      Danke für den Hinweis.

      Holger

      1. Hallo Holger,

        Du meinst, dieses JS-Feature ist fehlerhaft? Wo kann man den Bug melden?

        Es ist nicht fehlerhaft, nur verkompliziert.

        wenn du zwei einfache css Klassen hast:
        zB.

        .aktiv { display: block; }  
        .passiv { display: none; }
        

        kannst du anstatt den display über JS zu ändern ganz einfach

        document.getElementById(a).className = "tab aktiv";
        oder
        document.getElementById(a).className = "tab passiv";
        verwenden.

        eleganter ? ;-))
        gruesse qx

  2. Hi,

    tabo('tab2','ta2','tab1','ta1','tab3','ta3');

      
    fehlt da absichtlich 3mal das b im String?  
      
    
    > Sieht jemand den Fehler?  
      
    Nein, dazu müßte man auch das zugehörige HTML kennen ...  
    Oder in Deine Fehler-Console schauen können ...  
      
    cu,  
    Andreas
    
    -- 
    [Warum nennt sich Andreas hier MudGuard?](http://MudGuard.de/)  
    [O o ostern ...](http://ostereier.andreas-waechter.de/)  
      
    Fachfragen per Mail sind frech, werden ignoriert. Das Forum existiert.