Warum blendest du die einzelnen Listeneinträge aus? Es ist einfacher gleich die ganze Liste auszublenden.
Ich hoffe mal, Folgendes löst dein Problem:
Code:
function mShow(e)
{
if (!e.getElementsByTagName) {
return;
}
// Alle Listen im Menü:
var subLists = e.parentNode.getElementsByTagName("ul");
// Erstmal alle Untermenüs ausblenden, die nicht zum geklickten Eintrag gehören:
for (var i = 0; i < subLists.length; i++) {
if (subLists[i].parentNode !== e) {
subLists[i].style.display = "none";
}
}
// Das Untermenü des geklickten Eintrags einblenden:
e.getElementsByTagName("ul")[0].style.display = "block";
}