Struppi: Startmenü leidet an Kinderkrankheiten

Beitrag lesen

Bitte tu' Dir kein Zwang an!
  HTML:       http://eddi.to-grip.de/v/ bzw. der iframe im Posting
  Quellcode:  http://eddi.to-grip.de/v/zeilen.php
  Nummeriert: http://eddi.to-grip.de/v/zeilen.php?nummer
Hatte ich vergessen anzugeben. 'Tschuldigung :) Die Durchnummerierung ist nur besser, um komentare abzugeben.

guvk ich mir später mal an.

bist du sicher, das du this immer richtig verwendest?

Jain. Praktisch steht dort <td onMouseover="list(this)"> und in Zeile 79 wird durch v.onmouseover=''; verhindert, bzw. das Event abgestellt, da sonst endlos viele Untermenüs durch list() in v.nextSibling (Zeile 164) eingehangen werden.

Wenn du im HTML Code <td onmoseover="list(this)"  schreibst ist das ok, es ist aber was anderes als was du machst. In JS würde das so aussehen:

[td-object].onmouseover = list;

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

das bedeutet, die Funktion kommt auf zwei verschiedenen Arten zu dem Objekt und  du kannst diese Funktionen so nicht für beide sachen verwenden. du müßtest den JS Code so umschreiben:

[td-object].onmouseover = function () { list( [td-object] ); };

und nicht this, da this in dem Falle das eltern element ist.

Es kann dort auch ein Fehler mit this vorliegen. Versuche mit alert() haben aber immer gestimmt.

was heißt gestimmt? du hast dir mit this.id z.b. die ID ausgeben lassen?

Ich vermute mal du willst eher sowas:

var obj = [Tabellenzelle];

obj.onmouseover = list; // ohne Klammern

function list()
{
   alert('ich bin die Zelle:' + this);
}

Leider nein. list() hängt die Untermenüs ein, color() löscht sie (allerdings nicht wirklich :'(  ).

(klicke einfach auf "Menü" im iframe des Ausganspostings. Ist die Mais auf dem Untermenü zu "ich"=>"Anlegen" dann sollte das Untermenü von "ich"=>"eddi" ausgehangen werden und nciht mehr angezeigt werden. Da ist mein Problem.

Ich vermute das Problem hängt damit zusammen, das du irgendwann im falschen Objekt bist.

Struppi.