• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Kurze Ajax-Frage

Tronjer

Senior HTML'ler
Ich muss morgen ein ähnliches Menü wie bei Heise erstellen:

IT-News, c't, iX, Technology Review, Telepolis | heise online

Das heißt: Ich habe fünf Hauptnivgations-Links, und beim Hovern öffnet sich ein Div, welches, abhängig vom Hauptnavigationslink, jeweils etwa 20 Subnavi-Links in vier Spalten angeordnet zeigt. Diese Subnavigations-Links würde ich gerne per Ajax laden, und natürlich möchte ich dabei kein redundantes HTML haben.

Nun überlege ich gerade, wie ich das umsetzen soll. Ich könnte für die Ajax-Datei ein HTML-Gerüst erstellen und die Subnavigation-Links mit PHP-Variablen setzen. Oder wäre es besser, das mit einer JSON-Struktur aufzubauen?
 
Moin Tronjer,
ich würde hier ein JSON Konstrukt nachladen und das entsprechend aufbereiten und anzeigen, das wird vermutlich schneller sein als HTML nachzuladen und ist flexibler.

Allerdings wäre ich bei Menüs vorsichtig mit Ajax, das Laden dauert eben immer und der Benutzer muss warten, wenn auch nur kurz. Wenn du das schon nachladen willst/musst, dann mach das nicht erst beim aufruf des Menüs, sondern schon wenn die Seite geladen ist.

Welchen Grund hat es, das du das Menü nachladen willst?

MfG
 
Welchen Grund hat es, das du das Menü nachladen willst?

MfG

Um Redundanzen zu vermeiden.

Was ich hier bauen musste, war wesentlich umfangreicher als bei Heise, weil zu den Untermenülinks noch zusätzlich Texte mit Erläuterungen kamen. Insofern sind das auch keine Listen mehr, sondern <p> Container. Ich habe die Aufgabe über ein mehrdimensionales Array und eine foreach-Schleife gelöst und bin dabei mit einem Dutzend Zeilen HTML ausgekommen. Nachladen deshalb, weil ich diese Zeilen nicht für alle Hauptnavigationspunkte copy & pasten wollte.

Da dieses Menü nur für internes Usability-Testing entwickelt wurde, und nicht für einen Server, auf den sehr viele User gleichzeitig zugreifen, waren Überlegungen hinsichtlich Performance auch irreleveant. Die Seite lädt genau schnell wie statisches HTML.
 
Zurück
Oben