[JS] Fehler bei show/hide von div-Bereichen

CFI

Lt. Commander
Registriert
Mai 2003
Beiträge
1.391
Hi,

ich versuche mir mom. ein animiertes Menü mit JS zu machen. Dabei soll wenn über eine Table des Menüs gefahren wir, ein Untermenü angezeigt werden. Prinzipiel funktioniert das ja auch, allerdings wird mir das untermenü immer rechts oben auf der Seite eingeblendet und nicht dort wo der Part im Code steht.
Was mache ich da falsch?

Hier das Script:
Code:
var active_menu = null;

function show(item)
{
	var menu_element

         if(active_menu != null)
         {
		menu_element = document.getElementById(active_menu);
		menu_element.style.visibility = 'hidden';
         }

	menu_element = document.getElementById(item);
	menu_element.style.visibility = 'visible';
         active_menu = item;
}

function hide()
{
	var menu_element = document.getElementById(active_menu);
         menu_element.style.visibility = 'hidden';
}

mfg
Capt.Iglo
 
Dein Menü ist falsch positioniert. (hast du position: absolute statt position: relative verwendet?)
 
</Life> schrieb:
Dein Menü ist falsch positioniert. (hast du position: absolute statt position: relative verwendet?)

Ja, hatte ich. Jetzt werden sie dort angezeigt wo sie im Code stehen.

Jetzt wird aber immer ein Freiraum für die div-Bereiche gemacht, ich will aber das alle an der gleiche stelle sind, nur eben immer nur eins sichtbar...
 
Ich würde da übrigens noch eine winzige Änderung vornehmen:
Code:
var active_menu = null;

function show(item) {
         hide();
         var menu_element = document.getElementById(item);
         if (menu_element) {
                  // zeigen
                  active_menu = item;
         }
}

function hide() {
         if (active_menu != null) {
                  var menu_element = document.getElementById(active_menu);
                  // verstecken
                  active_menu = null;
         }
}
 
Zuletzt bearbeitet:
Zurück
Oben