Florian: JavaScript Menü

Hallo Forum,

bisher habe ich nur PHP mit MYSQL programmiert und muss nun ein Menü mit JavaScript erstellen für eine Page.

Es soll folgenes leisten:

1. Mehrere Hauptlinks mit Unterlinks
2. Wird ein Hauptlink angeklickt lädt die neue HTML-Seite und die Unterlinks zu dem Hauptlink werden aufgeklappt.
3. Wird ein Unterlink dann angeklickt öffnet die HTML-Seite und das Menü bleibt aufgeklappt
4.Wird ein neuer Hauptlink angeklickt schließt das alte wieder und die neuen Unterlinks werden aufgeklappt.

Ist es besser sowas mit Frames zu realisieren? Würde aber am liebsten auf Frames verzichten da später auch noch PHP dazukommt.

Hat jemand einen Link wo sowas beschrieben ist? Oder kann mir jemand einfach ein kleines Beispiel posten?

Vielen vielen Dank!

Florian

  1. Hi,

    bisher habe ich nur PHP mit MYSQL programmiert und muss nun ein Menü mit JavaScript erstellen für eine Page.

    musst Du nicht.

    Es soll folgenes leisten:

    Erstens: Es soll funktionieren. Ergo scheidet JavaScript aus. Diese *optionale* clientseitige Technik ist ausschließlich unterstützend einzusetzen, darf aber niemals die Basis darstellen.

    Ist es besser sowas mit Frames zu realisieren?

    Das würde es _noch_ schlimmer machen.

    Hat jemand einen Link wo sowas beschrieben ist? Oder kann mir jemand einfach ein kleines Beispiel posten?

    Verzichte auf JavaScript.

    Cheatah

    --
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. Hi,

      am liebsten würde ich schon verzichten, aber leider kennt halt PHP sowas wie onclick nicht.

      Wie soll ich es sonst realisieren?

      M.f.G.

      Florian

      1. Wie soll ich es sonst realisieren?

        hi,
        also ich hab das mal mit isset gemacht .

        das hat sehr gut funktioniert, und war im endeffekt so wie du es gerne haben möchtest.

        1. Ok in Ordnung, dann mach ich es bloß mit PHP und sag isset der Hauptlink dann zeige die Unterlinks.

    2. Hallo,

      Verzichte auf JavaScript.

      muss er doch nicht,man könnte doch zwei menüs machen eines mit javascript und eines mit
      <noscript>menue</noscript> erstellen,damit alle was davon haben .So hab ich es gemacht.

      Gruss vom Alain

      --
      ..."Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber bei dem Universum bin ich mir noch nicht ganz sicher." (Albert Einstein)
      1. Hallo Alain!

        muss er doch nicht,man könnte doch zwei menüs machen eines mit javascript und eines mit
        <noscript>menue</noscript> erstellen,damit alle was davon haben .

        Laut Florians Funktionsbeschreibung ist Javascript in jedem Fall unnötig.
        Nach seiner Beschreibung sollen die Untermenüs immer dann zu sehen sein, wenn eine zum jeweiligen Hauptpunkt gehörende Seite oder Unterseite angezeigt wird. Es soll allso nichts auf- oder zuklappen, wärend eine Seite angezeigt wird, sondern nur jeweils beim laden einer neuen Seite.
        Dies ist statisch oder mittels serverseitiger Technik zu realisieren, nicht aber sinnvoll mittels Javascript.
        Lösungen mit Javascript würden bedeuten, dass für dieses immer Daten übertragen werden, die überhaupt nicht zur Anzeige der Seite gebraucht werden.
        Im Noscript-Bereich würde genau das Menü stehen (statisch oder Serverscript), welches auch mittels Javascript eingeblendet wird.
        Also Javascript nur zum Zwecke eines Doppelmoppels?

        MFG
        Detlef

        --
        - Wissen ist gut
        - Können ist besser
        - aber das Beste und Interessanteste ist der Weg dahin!
  2. Moin!

    Es soll folgenes leisten:

    1. Mehrere Hauptlinks mit Unterlinks
    2. Wird ein Hauptlink angeklickt lädt die neue HTML-Seite und die Unterlinks zu dem Hauptlink werden aufgeklappt.
    3. Wird ein Unterlink dann angeklickt öffnet die HTML-Seite und das Menü bleibt aufgeklappt
      4.Wird ein neuer Hauptlink angeklickt schließt das alte wieder und die neuen Unterlinks werden aufgeklappt.

    Diese Funktionsbeschreibung läßt sich ganz allein mit PHP realisieren. Verzichte allerdings auf Frames, denn wenn du Frames einsetzt, hast du das Problem, dass es mit PHP allein eben doch nicht so toll geht.

    Bedenke: Du lädst bei jedem Klick eine neue Seite. Diese Seite kann problemlos die gewünschte Navigation enthalten. Du mußt lediglich:

    • eine Liste aller Menüpunkte haben
    • in dieser Liste die Zuordnung "Hauptpunkt"/"Unterpunkt" realisieren
    • und feststellen, welcher Menüpunkt aktuell gewünscht ist.

    Basierend auf diesen Informationen kannst du feststellen, welche Haupt- und Unterpunkte auszugeben sind.

    - Sven Rautenberg

    --
    Die SelfHTML-Developer sagen Dankeschön für aktuell 20885,68 Euro Spendengelder!
  3. Hallo Florian

    1. Mehrere Hauptlinks mit Unterlinks

    Mit Unterlinks? Ich denke doch diese sollen aufgeklappt werden?

    1. Wird ein Hauptlink angeklickt lädt die neue HTML-Seite und die Unterlinks zu dem Hauptlink werden aufgeklappt.

    Dann schreib doch die Unterlinks einfach nur in die entsprechende Seite.

    1. Wird ein Unterlink dann angeklickt öffnet die HTML-Seite und das Menü bleibt aufgeklappt

    Und auf die zugehörigen Unterseiten das selbe Menü. (mit Unterlinks)

    4.Wird ein neuer Hauptlink angeklickt schließt das alte wieder und die neuen Unterlinks werden aufgeklappt.

    Natürlich, wie denn sonst, wenn du die wie oben angegeben verfährst.

    Ist es besser sowas mit Frames zu realisieren?

    Nein!
    Du müsstest dann viele verschiedene Navigationen, mittels Javascript oder über separate Framesets laden.
    Sobald sich die Navigation gemeinsam mit den Inhalsseiten ändern soll, ist der vermeintliche Vorteil des Framesets dahin.

    Erstelle das Menü mit allen Haupt- und Unterlinks.
    Dieses kopierst du in jede Haupt- und Unterseite.
    Dann löschst du auf jeder Seite die Unterlinks weg, die bei dieser nicht angezeigt werden sollen.

    MFG
    Detlef

    --
    - Wissen ist gut
    - Können ist besser
    - aber das Beste und Interessanteste ist der Weg dahin!
  4. Hi,

    so wie Du es vorhast, läßt es sich mit Hilfe von Javascript lösen und ist dennoch ohne Javascript funktionsfähig.

    1. Mehrere Hauptlinks mit Unterlinks

    die Unterlinks definierst Du mit display:none; und bei mouesover änderst Du sie in display:block;

    1. Wird ein Hauptlink angeklickt lädt die neue HTML-Seite und die Unterlinks zu dem Hauptlink werden aufgeklappt.

    hier kommt ein modifiziertes Menü rein, welches die Unterpunkte dieses Hauptpunktes sichtbar hat. Benutzer ohne Javascript sehen somit diese Punkte auch.

    1. Wird ein Unterlink dann angeklickt öffnet die HTML-Seite und das Menü bleibt aufgeklappt

    hier kommt das gleiche Menü rein.

    4.Wird ein neuer Hauptlink angeklickt schließt das alte wieder und die neuen Unterlinks werden aufgeklappt.

    hier öffnest Du eine neue Seite, in dem dann die Unterlinks dieses Hauptlinks sichtbar sind - wie unter 2.
    freundliche Grüße
    Ingo

  5. Hallo,

    Hat jemand einen Link wo sowas beschrieben ist? Oder kann mir jemand einfach ein kleines Beispiel posten?

    guck mal hier http://www.dynamicdrive.com/dynamicindex1/index.html
    da hat es diverse beispiele mit scripts die du downloaden kannst und vielleicht noch
    etwas anpassen musst.

    Gruss vom Alain

    --
    ..."Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber bei dem Universum bin ich mir noch nicht ganz sicher." (Albert Einstein)