Christoph Schnauß: Layer anderem Frame zuweisen!

Beitrag lesen

guten Abend ;-)

Ich versuche mir ein Menüsystem zu erstellen. Jedoch werden die Layer durch den benachbarten Frame abgeschnitten. Wie kann ich dieses Problem beheben?

erstmal: bei manchen anderen Fragestellern muß man geradezu betteln um ein Stückchen Code. Du lieferst nun beinahe schon wieder viel zuviel davon ...

Es gibt einige Anmerkungen zu machen:
1. es ist völlig normal und üblich, daß man sich Code irgendwo holt oder "borgt", und für die eigenen Zwecke umarbeitet. Das sollte aber möglichst mit etwas Verständnis für diesen geborgten Code geschehen. Eines der Grundprobleme bei deinem Code ist, daß zwar versucht wird, auf die beiden Browser IE und Netscape einzugehen, aber auf eine nicht mehr zeitgemäße Weise. Netscape 6 kann zum Beispiel "document.layers" nicht mehr verstehen ...
Wenn man "Cross-Browser-Programmierung" einsetzen möchte, ist es zur Differenzierung besser, sich auf "getElementsByID" oder etwas Ähnliches zu beziehen.
2. Dein so umfangreicher Code enthält verblüffenderweise nicht ein einziges Frame. Man kann also dein "Problem" nicht wirklich überprüfen.
3. Zu Frames gibt es in SELKFHTML und im Forumsarchiv diverse Aussagen. Möglich wäre ja, daß du versuchst, deine Beispielseite in einen Frame zu legen, der einfach nicht groß genug ist, um den gesamten Layer anzeigen zu können. Dann gibt es keine Lösung, weil ein Layer aus einem Frame heraus eben die Framegrenzen nicht "überspringen" kann.
4. Es gibt aber Lösungsmöglichkeiten (ohne Layer) eine Navigation in frameübergreifenden temporären Anzeigen aufzurufen. Die eindrücklichste Lösung ist die "Quickbar" in SELFHTML. Vielleicht probierst du es einfach damit.

Es würde mich sehr freuen, wenn mir jemand sagen könnte, was falsch ist und wie man mein Problem lösen kann.

Das Problem ist, daß an deinem Code eigentlich nichts wirklich "falsch" ist. Er ist bloß nicht mehr zeitgemäß, und wahrscheinlich ist es ganz einfach für deine Anforderungen nicht der richtige Code.

Grüße aus Berlin

Christoph S.