RomanD: nur erste Zeile anzeigen

Hi,

ich habe versucht eine Funktion zu schreiben, die entweder einen Div-Container komplett anzeigt, oder nur die erste Zeile.
Leider funktioniert es nicht so richtig ;)

  
function toggle_divs(id) {  
 ele = document.getElementById(id);  
  
 if (ele.style.height == "auto" || ele.style.height == "") {  
  ele.style.height = "1em";  
  ele.style.overflow = "hidden";  
  alert("Zuklappen");  
 } else {  
  ele.style.height = "auto";  
  ele.style.overflow = "auto";  
  alert("Aufklappen");  
 }  
}  

Beim Aufrufen der Funktion wird immer der ganze Div angezeigt.
Zum Test hab ich die beiden alert's anzeigen lassen. Soweit scheint es zu funktionieren, es wird immer abwechselnd "Zuklappen" und "Aufklappen" anzeigt, nur die Größe ändert sich halt nicht.

Findet jemand den Fehler?

Gruß

  1. Hi,

    Beim Aufrufen der Funktion wird immer der ganze Div angezeigt.

    Der Fehler könnte durch den Aufruf mit einer fehlerhaften id entstehen.

    Findet jemand den Fehler?

    Das einzige was ich mir vorstellen könnte ist, dass du in ele eine Referenz auf das falsche Element hast.
    Ansonsten funktioniert deine Funktion bei mir im Firefox 2.

    mfG,
    steckl

    1. Ok ich hab den Fehler jetzt gefunden.
      Im FF funktioniert es soweit.

      Nur im IE gibts Probleme:
      Der div wird zwar Ordnungsgemäß verkleinert, aber der Text ist trotzdem noch zusehn und verdeckt den darunterliegenden Div.

      Kann mir da jemand weiterhelfen?

      Gruß

      1. Das Problem ist sicher, dass in dem zuzuklappenden Div noch weitere Divs sind die sich beim IE von overflow:hidden nicht betroffen fühlen.

  2. Leider funktioniert es nicht so richtig ;)

    Bei mir funktioniert dein code, im FF 2, IE 6 und OP 9, auch wenn weitere Elemente innerhalb des Bereiches sind.

    Struppi.