Wie kann ich ein DIV bewegen lassen? Anfängerfrage ...

soezkan

Erfahrenes Mitglied
Hallo zusammen,

ich benutze eine Drupal-CMS-Installation. Da gibts Hauptmenüpunkte und Unterpunkte.
Jetzt ist das Problem, dass die Unterpunkte, wenn sie aufklappen, auch das Umliegende DIV mit nach unten schieben sollen. Das ist mir bislang auch hiermit gelungen:

PHP:
function expandDIV(action, height) {
	if(action == 'do') {
		var divh = document.getElementById('mainNavigationBox').offsetHeight;
		var numli;
		
		numli = (document.getElementById('cutesubmenu').childNodes.length;

		var newh = divh + (numli*28);
		document.getElementById('mainNavigationBox').style.height=newh+'px';
	}
	else if(action == 'undo') {
		document.getElementById('mainNavigationBox').style.height=height+'px';
	}
}

Das Problem: ich würde gerne, dass es etwas dynamischer aussieht, habe aber keine Ahnung wie man sowas mit einem "Effekt" versieht. Eine Zeitverzögerung würde schon reichen. Dafür habe ich das hier gefunden:

PHP:
var expandH = 200;
function expand(){
	var obj = document.getElementById("mainNavigationBox");
	var Y = parseInt(obj.style.height);
	var cY = expandH;
	if(Y<cY){
		obj.style.top = (Y+5)+"px";
		timer = setTimeout("expand()",0.5);
	}
}

... nur weiß ich eben nicht, wie ich das jetzt in der oberen Funktion unterbringt, da sich die Funktion ja rekursiv aufruft.

Kann mir da jemand einen Tipp geben?

Dankeschön

Liebe Grüße
Soezkan
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück