molily: Element mit setInterval vergrößern!

Beitrag lesen

var steuerung = setInterval("mehr", 100);

Das tut nicht das gewünschte. Es ruft die Funktion nicht auf, sondern wertet nur die Expression »mehr« aus. Die Funktion wird über ihren Namen angesprochen, aber nicht aufgerufen.

Entweder du schreibst

setInterval(mehr, 100);
(Übergabe einer Funktion)

oder

setInterval("mehr()", 100);
(Übergabe eines Strings mit JavaScript-Code, Aufruf der Funktion)

Erste Variante ist zu bevorzugen.

function mehr(){
var heightVar = document.getElementById("sidebartext").style.height;

Wenn noch kein entsprechender Inline-Style gesetzt wurde, ist diese Eigenschaft leer (ein leerer String).

Siehe http://molily.de/js/css.html#werte-auslesen - mit dem style-Objekt kannst du nur Inline-Style-Werte auslesen, die du zuvor gesetzt hast. Das besagte offsetHeight ist da schon passender. Bzw. eigentlich wäre clientHeight das, was der CSS-height-Eigenschaft entspricht.

var heightVarFloat = parseFloat(heightVar);

Ergibt in dem Fall NaN (non a number)

var heightVarFloatPlus = heightVarFloat + 5;

Ergibt NaN

var heightVarNew = heightVarFloatPlus + "px";

Ergibt "NaNpx"

document.getElementById("sidebartext").style.height = heightVarNew;

Browser ignoriert die Zuweisung, "NaNpx" ist kein gültiger Wert.

if (document.getElementById("sidebartext").style.height = "300px"){

Ist dir der Unterschied zwischen Wertzuweisung mit dem »=«-Operator und Wertvergleich mit dem »==«-Operator bekannt?

Hier willst du wohl einfach prüfen

if (heightVarFloatPlus >= 300) clearInterval(steuerung);

Mathias