| Autor |
|
ManiB
Grünschnabel

Dabei seit: 06 2006
Herkunft:
Beiträge: 1
 |
|
|
hi spezialisten,
habe leider noch wenig erfahrung mit javascript.
habe in meiner web applikation das js menü eingebaut (version 1.5 beta).
ist es möglich mit einem button im menüframe das menüframe fast zur gänze auszublenden und mit einem weiteren button das menüframe wieder einzublenden?
habe so eine lösung schon mal im web gesehen und kann es leider nicht nachvollziehen.
vielleicht braucht jemand anderer auch so eine lösung....
lg manfred
|
|
02.06.2006, 07:27 |
|
skycle
Doppel-As

Dabei seit: 11 2002
Herkunft:
Beiträge: 113
 |
|
|
Hallo Mani,
das ist möglich. Du bräuchtest quasi die Klapp-Funktion für den root-Eintrag.
Die Schaltfläche selbst ist kein Problem. Theoretisch kannst Du auch einen normalen Text-Link ins Menü stellen. Dieser könnte (mit aktiviertem JS beim Benutzer) dynamisch ausgetauscht werden (aus-/einklappen).
Ich kenne auch eine solche Lösung - die basiert jedoch nicht auf dem JS-Menü; aber durch dieses bin ich ja erst darauf gestoßen 
Ich starte gegen Wochenende einen Lösungsversuch und melde mich.
__________________ mfg skycle
|
|
08.06.2006, 22:48 |
|
skycle
Doppel-As

Dabei seit: 11 2002
Herkunft:
Beiträge: 113
 |
|
|
Durch Deinen Wunsch hab ich mich in "alte Zeiten" zurückversetzt gefühlt, als ich mich intensiv um Ausbau und Anpassungen meines JS-Menüs bemühte... Wahrscheinlich nehme ich das Ergebnis in mein Test-Menü auf. Wenn ich nur wüsste, warum ich den Navigationsbaum ausblenden sollte...
Mein Lösungsweg ist folgender: Man blendet das Menü ein oder aus, wenn man auf das Symbol des Hauptverzeichnis-Eintrags klickt.
Eventuell wären ein kleiner Hinweis für den Besucher auf der Startseite oder ein hinreichend auffälliges Symbol hilfreich. Der Wert des title-Attributs passt sich schon mal automatisch an.
Es wird eine relativ umfangreiche Änderung. Hoffentlich erkläre ich verständlich genug.
Ausgehend vom Standard-Script aus v1.4.1 mache ich folgende Änderungen:
[1] Die Zeilen
m.write(mD[1].stat+rt+BU+((mD[1].icon=="")?"globus-"+LHg+".gif":mD[1].icon)+WH6+mD[1].stat+"\"> <b>"+mD[1].text+"</b></a><br>\n")
maleVerz(mD[1].name,"")
werden geändert in
m.write(mD[1].stat+rt+BU+((mD[1].icon=="")?"globus-"+LHg+".gif":mD[1].icon)+WH6+mD[1].stat+"\""
+ " onclick=\"parent.allesaufzu(0,"+(alles?0:1)+");return false;\" title=\"Menü"
+ (alles?"ein":"aus")+"blenden\"></a>"
+ "<a href=\""+startseite+"\" target=\""+ZielFrame+oMO
+ md[1].stat+rt
+ "<b>"+mD[1].text+"</b></a><br>\n")
maleVerz(mD[1].name,"",(alles?0:1)) // Anmerkung 1 (siehe unten)
[2] Folgende Funktionsdeklarationen werden erweitert:
function maleMenu(alles)
function maleVerz(sE,zE,kE) { // kE=kein Eintrag
[3] Innerhalb dieser Funktion schreibe ich statt
while(idx<=nach.laenge){
-->
if(kE!=1)
while(idx<=nach.laenge){
[4] Folgende Funktion wird erweitert:
function allesaufzu(status,allesodernichts){
for(idx=1;idx<md.laenge;idx++){md[idx].offen=status}
maleMenu(allesodernichts)}
[5] Anmerkung 1: Individualentscheidung
Soll das Menü bereits beim ersten Aufruf geschrumpft dargestellt werden?
Dann schreibe statt oben angegeben
maleVerz(md[1].name,"",(alles?1:0))
Zum Abschluss die Frage: Ist das ungefähr das, was gesucht war?
__________________ mfg skycle
Dieser Beitrag wurde von skycle am 12.06.2006, 22:24 Uhr editiert.
|
|
12.06.2006, 22:11 |
|
Gast
Dabei seit:
Herkunft:
Beiträge:
|
|
|
hallo skycle,
habe meinen quelltext angesehen und die zeile die ich ersetzen soll nicht gefunden. verwende die version 1.5.
aber ich glaube mit deiner lösung wird nur die baumstruktur ausgeblendet oder das ganze menüframe?
meine idee mit dem ausblenden des menüframe war, das der anwender im zielframe mehr platz zur anzeige hätte und wenn ein menüpunkt wieder gebraucht wird dann kann der user mit einem klick wieder das ganze menüframe einblenden.
|
|
26.06.2006, 07:28 |
|
Gast
Dabei seit:
Herkunft:
Beiträge:
|
|
|
Du tippst richtig. Der Baum wird bis auf Root versteckt.
Die Zeile findest Du vermutlich nur in v1.4.1, wie ich beschrieb. Ich wusste (und weiß) nicht, welche Version von JS-Menü bei Dir läuft.
Es gibt weiterhin mehr als eine Möglichkeit.
[1] Das in seiteFrame angezeigte Dokument kann man in ein eigenes Fenster laden - solo (ohne Kopf- und Fußframe) oder in anders definiertem Frameset. Von da aus kann man bei Bedarf das "Menü nachladen" (siehe Forum-Suche) oder den Fokus ins vorige Fenster setzen.
[2] Man kann per Script (sofern verfügbar und aktiviert) die Breite des menuFrame ändern. Nach Hörensagen funktioniert sowas aber nicht zuverlässig in allen Browsern.
[3] Man kann ein verändertes Frameset ins gleiche Fenster laden, wobei das Dokument im seiteFrame beibehalten wird. Bei Bedarf holt man das andere Frameset zurück (Erhöhter Datenverkehr).
[...] Mehr fällt mir bei der Wärme im Moment nicht ein.
Warum ist das Menü nicht so schmal, dass der restliche Platz für die Inhalte reicht? Oder lade betreffende Inhalte gleich in ein neues Fenster ohne Menübaum.
Mich würde interessieren, welche Lösung Dir am ehesten zusagt.
|
|
26.06.2006, 19:17 |
|
skycle
Doppel-As

Dabei seit: 11 2002
Herkunft:
Beiträge: 113
 |
|
|
'Tschulligung. Der zweite Gast war ich...
__________________ mfg skycle
|
|
26.06.2006, 19:23 |
|
Gast
Dabei seit:
Herkunft:
Beiträge:
|
|
|
hallo skycle,
habe am wochenende in meiner homepage (ist erst im werden) das jsmenü angepasst. wenns dir interessiert kannst ja mal hineinschauen.
habe jetzt einen neuen frame erzeugt und bei klick wird das jsmenü ein/ausgeblendet.
http://www.hausriff.at
|
|
27.06.2006, 06:56 |
|
skycle
Doppel-As

Dabei seit: 11 2002
Herkunft:
Beiträge: 113
 |
|
|
Hallo Mani,
selbstverständlich interessieren mich (v. a. positive) Ergebnisse, und andere sicherlich auch.
Erstens: Wunderbar, es klappt prima.
Zweitens: Wenn ich meinem Feuerfuchs JavaScript auf der Seite nicht gestatte, kommt in drei Frames folgende Meldung:
Zitat: The requested URL /[name].htm was not found on this server.
Ansonsten sehr gut umgesetzt. Und das behandelte Thema finde ich ebenfalls sehr interessant.
Viel Erfolg weiterhin.
__________________ mfg skycle
|
|
29.06.2006, 23:40 |
|
|