Dilemma: Frame vs. JS-Menü

Hi.

Möcht eine Seite bauen ohne Frames, ohne PHP, ohne Cookies.
Es soll dabei ein vertikales JS/CSS-Menu geben, wo es 3 Hauptmenüpunkte gibt. Durch MouseOver oder Click sollen dann jeweils 2 Submenü-Punkte aufgehen, d.h. sich nach unten öffnen.
(Die Submenüpunkte sind die eigentlichen Links).

Problem:
Wenn die Submenüpunkte auf sind, und ein Link angeklickt wird, wird ja (wegen der Framelosigkeit) die ganze Seite, also auch das Menü neu geladen. Dadurch hat das Menü aber wieder seine Ausgangsstellung, nämlich ohne offenen Submenüs…

Wie löse ich das Dilemma…?

Toll, wenn jemand ne Idee hätte…

☼ Markuss ☼

Auch hallo.

Wie wär’s damit: http://de.selfhtml.org/dhtml/beispiele/navigation.htm ?

HTH
mfg M.L.

Hi,

eine Navigation mit JS ist nicht so toll. Damit sperrst du alle aus, die JS deaktiviert haben und das sind nicht wenige.

Viele Grüße
WoDi

Hallo
Also hör mal. Du machst ja schon praktisch so viele Seiten, wie Du Untermenüpunkte hast, plus einer Startseite.
Da kannst Du doch auf jeder Seite die Untermenüpunkte anders einstellen? Wo ist das Problem? (Außer im Mehraufwand für die ganzen neuen Seiten).
MfG
Matthias

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo,

Möcht eine Seite bauen ohne Frames, ohne PHP,
ohne Cookies.

Löblich :wink:

Es soll dabei ein vertikales JS/CSS-Menu geben, wo es 3
Hauptmenüpunkte gibt. Durch MouseOver oder Click sollen dann
jeweils 2 Submenü-Punkte aufgehen, d.h. sich nach unten
öffnen.
(Die Submenüpunkte sind die eigentlichen Links).

Und was machst du für Leute, die kein JS haben?

Problem:
Wenn die Submenüpunkte auf sind, und ein Link angeklickt wird,
wird ja (wegen der Framelosigkeit) die ganze Seite,
also auch das Menü neu geladen. Dadurch hat das Menü aber
wieder seine Ausgangsstellung, nämlich ohne offenen
Submenüs…

Du musst nicht die gesamte Seite neu schreiben. Du kannst für jeden möglichen Menüpunkt einen erstellen, ihm eine ID zuweisen und dann dann mit dem einzlenen div einen Text zuweisen. Wenn du die Menüs dynamisch vom Server nachladen willst, dann google mal nach Ajax, das ist genau das Konzept, das du in diesem Fall bräuchtest.

Grüße,
Moritz

Das SELFHTML-Beispiel zeigt eine besondere Technik, die ich aber nicht empfehlen würde. Meiner Meinung nach sollte die Navigation ständig sichtbar bleiben. Daran kann sich der Homepageleser dann „festhalten“.

Ich würde den Vorschlag unterstützen, für jede Seite eine eigene Navigation zu bauen, wenn es denn ohne Frames gelöst werden soll.

Die Navigation ist ja immer sehr ähnlich, nur ein Navigationspunkt ändert sich je Seite.

Gruß aus Flensburg

Hi.

Hallo,

Möcht eine Seite bauen ohne Frames, ohne PHP,
ohne Cookies.

Löblich :wink:

Ja, ne?

Es soll dabei ein vertikales JS/CSS-Menu geben, wo es 3
Hauptmenüpunkte gibt. Durch MouseOver oder Click sollen dann
jeweils 2 Submenü-Punkte aufgehen, d.h. sich nach unten
öffnen.
(Die Submenüpunkte sind die eigentlichen Links).

Und was machst du für Leute, die kein JS haben?

Keine Sorge!
Die versorge ich mit einer Alternative, die ohne JS auskommt.

Wenn du die Menüs dynamisch vom Server
nachladen willst, dann google mal nach Ajax, das ist genau das
Konzept, das du in diesem Fall bräuchtest.

Aber das ist ja wieder JS, und geht nicht ohne ActiveXElement-Zulassung beim IE. Hmmm…

☼ Markus ☼

Das Problem ist…
Hallo.

Also hör mal. Du machst ja schon praktisch so viele Seiten,
wie Du Untermenüpunkte hast, plus einer Startseite.
Da kannst Du doch auf jeder Seite die Untermenüpunkte anders
einstellen? Wo ist das Problem? (Außer im Mehraufwand für die
ganzen neuen Seiten).

Das Problem ist weniger das Extra-Programmieren, sondern folgendes unerwünschtes Verhalten:

Das Menü verhält sich so, dass wenn bei einem Hauptmenüpunkt die Submenüs bereits offen sind, und man klickt einen weiteren Hauptmenüpunkt an, wo sich ebenfalls Submenüs öffnen, dann schließen sich die zuerst erwähnten Submenüs nicht!
Und dies lässt sich eben nicht 'nach’programmieren, weil die neue angeklickte Submenü-Seite ja nicht ‚weiß‘, welche Submenüs (von den anderen Hauptmenüpunkten) offen waren. Man kann es nur so machen, dass immer nur die ‚eigenen‘ Submenüs offen sind, alle anderen zu. Und das kann einen unschönen, verwirrenden Effekt haben, wenn plötzlich mehrere Submenüblöcke verschwinden, und nur der ‚eigene‘ offen bleibt.
Oder was meinst du…?

☼ Markuss ☼

Hallo Markus
In Deiner Antwort zu meinem Artikel hast du ein Problem erklärt.
Soll der Zustand des Menüs nicht jedesmal gelöscht werden, dann mußt Du aber die Daten speichern. Im übrigen gibt es für jeden geöffneten Link auch eine speziellen Zustand fürs Menü, oder möchtest Du mehrere Untermenüpunkte, die nichts mit dem Link zu tun haben, auch anzeigen?
Das wird ja ganz schön unübersichtlich.
Im übrigen halte ich das Gelaber auf JavaScript zu verzichten, für ziemlich übertrieben. Ein(!) Cookie wär auch noch ok. Nur die Empfehlung, eine Seite auch für zu erstellen finde ich ok.

JavaScript hat nicht unbedingt etwas mit activex zu tun. Du bringst da glaub ich einiges durcheinander.
Objekte innerhalb des JavaScripts kannst Du ohne Zulassung verwenden, sofern die Seite noch funktioniert.

Ein Steuerelement für Menüs müsstest Du allerdings zulassen, oder ein fertiges, zugelassenes nehmen. Gibts dann eventuell für IE aber dann nicht für Mozilla.
Was Suchmaschinen betrift, ist es nach meiner Vermutung ausreichend, eine normale Seite(kein Frameset) mit einem Frame drin(Iframe) zu verwenden. Weil da auch die Metatags mit rein können undauch gelesen werden können.
MfG
Matthias

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]