Siechfred: Logikproblem mit JavaScript

Beitrag lesen

Bei jedem Aufruf wird das kleine Icon mit dem +/- gegen das jeweilige andere ausgetauscht. Lasse ich allerdings, mit einem Klick auf das minus neben Gestalt, den ganzen Gestaltast ausblenden und anschließend wieder einblenden, zeigt das Icon neben Portfolio kein "+" sondern ein "-".

Weil du es nicht geändert hast. Oder anders rum: Weil du dir die eingeklappte Struktur nicht merkst. Klappe ich 'Gestalt' mit geöffnetem 'Portfolio' zu und wieder auf, ist 'Portfolio' geschlossen, die Grafik suggeriert mir aber, dass es noch geöffnet ist. Klappe ich 'Portfolio' vorher zu, ist alles in Ordnung.

Für das Merken der Struktur könntest du dir ein Objekt anlegen, in dem du bei jeder Änderung eines Menüpunktes, der Untermenüs hat, eine Momentaufnahme speicherst und diese abfragst und ggf. wieder herstellst.

Also in etwa so:

var menutree = { menu1 : { hasChildren : true,  
                           children    : ['child1', 'child2', 'child3'] },  
                 menu2 : { hasChildren : false }  
               };  
for ( var menu in menutree ) {  
  if(menutree[menu].hasChildren)  
    alert(menu + ' has children ' + menutree[menu].children);  
  else  
    alert(menu + ' has no children');  
}

Als Denkanstoß :)

Siechfred

--
Ein Selbständiger ist jemand, der bereit ist, 16 Stunden am Tag zu arbeiten, nur um nicht 8 Stunden für einen Anderen arbeiten zu müssen.