Struppi: Startmenü leidet an Kinderkrankheiten

Beitrag lesen

[td-object].onmouseover = list;

dann ist in der Funktion list *this* das td-object.

Damit arbeitet doch list() - list() muß auch genau mit td-object arbeiten!

soweit ich das versteh tust du das nicht.

function list(v)
 {

hier ist this = das Objekt von dem der event aufgerufen wird, aber was ist v?

v.onmouseover='';

t=v.parentNode.parentNode.childNodes;

was ist v.parentNode.parentNode?

for(i=0;t[i];i++)
  if(t[i].firstChild!=v)
   {
   t[i].firstChild.onmouseover=function(){list(t[i].firstChild)}

Du gehst alle firstChild Elemente des Großelternobjektes (parent von parent) durch und wenn dies ungleich von v (was ist v?) ist, fügst du diesen onmouseover event hinzu. Der Parameter ist das Kindobjekt des firstChild elementes das nicht der Parameter v ist?

Mir ist nicht klar wohin du hier willst?

Da liegt doch aber der Hase im Peffer: list() arbeitet mit dem Parameter v der eben durch list(this) übergeben werden muß. Die Funktion hat keinerlei Möglichkeiten anders auf die Struktur des Menüs und der Untermenüs zuzugreifen.

wieso nicht?
this ist das Objekt wo der event auftrat, ich vermute: vergiß den Parameter!

Struppi.