Externes Java-Dropdown Menu

Rebelution

Grünschnabel
Hallo,

kennt jemand von euch ein JS-Dropdown-Menu, das als externe Datei vorhanden ist und lediglich mit einem <script type="text/javascript" src="blah.js"></script> eingebunden werden kann?
Darf auch gern ein CSS-Menü sein, sollte eben nur vollständig "auslagerbar" sein.

Danke für die Hilfe,

Mau
 
Meinst so ein Menu welches aufklappbar ist ? oder so eines welches mit Select Listen gestaltet wird.

Anbei mal mein PulloutMenu welches ich mir mal gebastelt habe.

Demo Datei ist mit dabei.
 

Anhänge

Im Grunde genommen kannst du da jedes rein JS-basierte Menu nehmen. indem du einfach den Skriptteil, der direkt im Dokument steht, in eine externe Datei auslagerst...für JS spielt e keine Rolle, wo es steht.
 
Vielen Dank euch beiden!

@ Fips, dein Menu sieht sehr gut aus, etwas in der Art habe ich aber bereits. Mein Problem ist, dass ich eins brauche, das komplett extern ist.

@ Sven: ich bin sicher nicht zu faul zu suchen, aber könntest du mir für meinen Fall eins empfehlen?
 
Danke für die Blumen , aber es ist eigentlich komplett extern halt ein eigener JS File. Gestartet wird es über window.onload und gestylt dann mit CSS.

Die Positionierung übernimmt dabei schon JS hier ging es nur noch um Schriften und Farben bzw Bilder.

Window.onload ist notwendig um das Menu zu starten wenn wirklich alles geladen und man sicher sein kann das die Liste auch da ist.

Ich denk mal groß anders wird es sowas auch nicht geben , es sei denn man hat nen Config File wo dann alle CSS Angaben stehen , aber das würde auch relativ groß werden alles dann.

Die Onload Geschichte bräuchte dann auch wieder ne extra Funktion um andere Onloads nicht zu überschreiben und selbst da muss man dann alle Onloads mit der Funktion verbinden.

2. Alternative wäre es alles komplett zu laden (also CSS Datein einbinden / JS Datein) einbinden wenn das Dokument geladen ist.

Aber da muss man dann auch wieder nen Script haben welches das für einen erledigt.
 
Danke nochmal für deine eingehende Erklärung.

Mein Problem ist nur, dass ich quasi alles, was zum Menü gehört, gern ausgelagert hätte. Selbst bei deinem Menu, und das ist ja auch der klassische Aufbau, der häufig zu finden ist, kann ich ja nun nich einfach alles im <BODY> stehende in ne externe Datei packen und erwarten, dass es funktioniert.
Wenn ich's nun richtig verstehe, kommt das deinem 2. Vorschlag ziemlich nahe, oder? Weißt du, ob es da entsprechende Scripts gibt?
 
Also das Menu ansich baut auf einer Liste auf

Der erste Weg:.
Man nimmt eine Serverseitige Scriptsprache CGI oder PHP usw wenn man zum Beispiel die Verzeichnisse als Baum gestalten will oder halt Daten aus einer Datenbank rausholen will welches dafür sorgt das eine solche Liste erstellt wird.

Oder man nimmt einfach Templates aber da brauch man dann auch wieder einen Template Parser sowie ein Script welches den Ajax Request anstößt und dann weiter verarbeitet wieder.

Der zweite Weg wäre die Liste mit JavaScript zusammen zubauen. Viel Schreibarbeit.

Code:
var ul = document.createElement("ul");
var li = document.createElement("li");
li.appendChild.createTextNode("mein Eintrag");
ul.appendChild(li);

// das stylen.
with(ul) {
  style.padding="0";
  style.margin="0";
  //usw
}

Da müsste man sich dann am besten selber Funktionen erstellen die das abarbeiten in dem man da zum Beispiel ein Array oder ein Objekt in JSON übergibt und das da abarbeiten.

Mhm PHP Script (von den Namen hab ich vergessen ist schon lange her :( ) hier gehabt welches in PHP mit Objekten eine solche Liste erstellt hat allerdings auf Verzeichnisse beruhend wenn ich mich recht erinner. PHP Class Collection und so weiß ich noch ;)

Es ist nun die Frage was hast zur Verfügung , lohnt sich der Einsatz von PHP / Template Parsern wie Smarty oder hast eh nen komplettes CMS dahinter die sollten sowas ja dann haben.
Wenn nicht hoffen wir mal das de nicht sehr schreibfaul bist ;).

JS Applikationen die Dir das meiste abnehmen ja gibt es naja diese Frameworks prototype ist wohl das bekannteste , dann kam ja von Yahoo noch eines raus wenn ich mich recht erinner, MooTools und wie sie alle heissen.
Ich mein die bauen dir keine Liste zusammen nehm ich an , aber das ganze Ajax Zeugs nehmen sie dir ab und du kannst auch Scripte die nachgeladen werden sollen zum beispiel über ein solches Framework starten.
 
Zuletzt bearbeitet:
Wow, danke für deine Mühe!

Sieht jedenfalls komplizierter aus, als ich mir das dachte und mein Ziel rechtfertigt so viel Aufwand wohl kaum.

Ich habe meine Page bisher mit Frames aufgebaut, was definitiv keine optimal-Lösung darstellt. Ich will mir im Moment noch php anlernen, aber das braucht seine Zeit.
Ein komplett externes JS-Menu wäre ne geeignete Übergangslösung für mich, da ich sonst derzeit bei Änderungen oder im Menu alle Pages umschreiben muss. Derzeit ist das Menu eben in jeder Page integriert, um sukzessive von den Frames loszukommen.

Wenn du noch ne einfache Lösung parat hast, her damit, würde mich sehr freuen, ansonsten muss ich mich nun ins php reinarbeiten. Ich weiß, es gehört hier nicht rein, aber würdest du mir eine php-Grundfrage beantworten? Brauch ich nen Apache oder ähnliches, wenn ich die Dateien auf nen Webspace lade, oder ist der nur da, um nen nicht vorhandenen Webserver zu simulieren?
 
Naja das wären die Wege wie man es sich nicht in den HTML Code reinschreiben muss , der einfache Weg ist die Liste einfach reinschreiben ;).

Um PHP zu benutzen brauchst Du einen Webserver , der meist verbreitetste ist der Apache. Dazu brauchst dann noch das PHP Modul und weitere je nachdem was Du machen willst. (MySQL , GD Libary , etc).

Für die eigene Testumgebung zu Hause würde ich dann einfach Xampp empfehlen

http://www.apachefriends.org/de/xampp.html da ist schon das meiste dabei und man muss sich um fast gar nix mehr kümmern.

Diesen Server würde ich aber auch nur zum Testen nehmen , wenn Du einen öffentlichen Server willst müsste man das Ding ordentlich konfigurieren und absichern aber das überlasse ich auch gern wen der sich damit auskennt ;).

Was die Frames angeht , sind eigentlich nicht so gern gesehen , aber wenn Du schon Frames benutzt dann kann ich momentan nicht nachvollziehen warum das Menu immer neu eingebunden werden muss , das wäre der Fall wenn es eine Home.html gäbe , Kontakt.html usw.

Aber eigentlich könnte man doch die Frames auch so gestalten oben ein Menu und nur der untere Teil aktualisiert sich. Es sei denn jeder untere Teil hat wieder ein spezielleres Menu , in diesem Fall müsstest dann dieses Liste eh immer neu machen.

die JS Datein / CSS Datein kannst ja getrost auslagern und über

<script type="text/javascript" src="pfad zum script"></script>
bzw
<link rel="stylesheet" type="text/css" href="pfad zur css"></link>

einbinden wie Sven Mintel es schon erwähnte.

Aber ich kann Dir in jedem Fall auch nur raten PHP zu lernen wenn Du Webseiten zusammen schrauben willst , wird zwar eine Weile dauern aber es lohnt sich schon in meinen Augen , PHP kann sogar noch ne ganze Menge mehr :) .
 
hey, cool, du bist schnell ;-)

momentan ist meine Page noch so, dass alles vom Menu in einem anderen Frame geladen wird. Ich hab aus Performance-Test-Gründen die Seite mal ohne Frames gestaltet und gemerkt, welches Potential durch die Frames verschleudert wird.
Nur eben mit dem Nachteil, dass ich ohne php-Kenntnisse und ohne komplett externes Menu sehr viel Handarbeit habe.
Die CSS- und JS-Scripts auslagern is ja kein Problem, hab ich bisher alleine aus Platz- und Performance-Gründen immer gemacht.

Ja, php ist wohl die beste Lösung. Mal schauen, wie weit ich komme ... ;-)

Also, vielen Dank für deine Hilfe und die Tipps zum php. Mach ich mich morgen dran.

Greetings,

Maurice
 

Neue Beiträge

Zurück