Enrico: Höhe eines <ul>-Elementes ermitteln

Beitrag lesen

Hallo Struppi,

nachfolgende Funktion sorgt für die Ausgabe der Filmdateien inkl. zusätzlichem Abstand, falls notwendig:

function Tabelle_ausgeben ()
   {
      var Tabelle_Kopf    = "<table><tr><th>Nr.</th><th>Cover</th><th>Titel</th><th>Inhalt</th><th>Genre</th><th>FSK</th></tr>";
      var Tabelle_Koerper = "";

for (var i = 0; i < Filmliste_Ansicht.length; i++)
      {
         Tabelle_Koerper += '<tr>';
         Tabelle_Koerper += '<td>' + Filmliste_Ansicht[i]["Nr"] + '</td>';
         Tabelle_Koerper += '<td>&nbsp;</td>';
         Tabelle_Koerper += '<td nowrap>' + Filmliste_Ansicht[i]["Titel"] + '</td>';
         Tabelle_Koerper += '<td width="100%">' + Filmliste_Ansicht[i]["Inhalt"] + '</td>';
         Tabelle_Koerper += '<td nowrap>' + Filmliste_Ansicht[i]["Genre"] + '</td>';
         Tabelle_Koerper += '<td><img src="GRAFIKEN/LAYOUT/FSK_' + Filmliste_Ansicht[i]["FSK"] + '.png" width="51" height="20"></td>';
         Tabelle_Koerper += '</tr>';
      }

var Tabelle_Filmtitel = Tabelle_Kopf + Tabelle_Koerper + '</table>';

var Anzeigebereich = window.document.getElementById ("Anzeigebereich");

Anzeigebereich.innerHTML = Tabelle_Filmtitel;

var div_Hoehe    = Anzeigebereich.clientHeight;
      var Seitenlaenge = Anzeigebereich.scrollHeight;

if (Seitenlaenge > div_Hoehe)
      {
         Anzeigebereich.setAttribute ("padding-right", "7px");
      }
   }

Und hier klappt es, hier verwende ich aber einen div als Container.

Vielleicht liegt es aber auch an der nachfolgenden Funktion, die die Untermenüs gegebenenfalls um den Scrollbalken ergänzen sollen:

function Zusaetzlicher_Abstand (Objekt)
   {
      var Objekt = window.document.getElementById (Objekt);
      var Menuelaenge = Objekt.offsetHeight;

if (Menuelaenge > 350)
      {
         Objekt.className = "Zusaetzlicher_Abstand";
      }
   }

Ich habe auch ausprobiert, die Überprüfung direkt in die Funktion zum Erzeugen der Auswahllisten zu integrieren, aber mit gleichem,
nämlich keinem Erfolg, aber auch keinem Fehler in der Firefox-Fehlerkonsole:

var Auswahllisten = new Array ("Auswahl_Anfangsbuchstabe","Auswahl_Genre","Auswahl_FSK","Auswahl_Darsteller","Auswahl_Produzent","Auswahl_Regisseur");

for (var i = 0; i < Auswahllisten.length; i++)
   {
      var Menuelaenge = Auswahllisten[i].scrollHeight;

if (Menuelaenge > 350)
      {
         Auswahllisten[i].className = "Zusaetzlicher_Abstand";
      }
   }

Das Menü in einen div zu packen bzw. auch nur die Untermenüs klappt nicht, weil mir hier die Untermenüs sonst nicht mehr angezeigt werden.

Gruß
Enrico