[GastForen Programmierung/Entwicklung JavaScript Menü mit js -- Bedingungen if else

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

Menü mit js -- Bedingungen if else

relex
Beiträge gesamt: 16

6. Feb 2006, 15:11
Beitrag # 1 von 4
Bewertung:
(946 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo

Bei meinem derzeitigen Webprojekt versuche ich ein Dropdown-Menü zu realisieren. Ich habe schon eine einigermassen befriedigende Lösung mit einem Frameset. Das reicht mir aber nicht. (Bildbeispiel http://www.dnarts.ch/navigation)

Ich möchte das Menü mit Js steuern. Die Idee bei diesem Menü ist, dass immer nur ein "Haupt-Menüpunk" geöffnet sein kann. Und bei klick auf einen geöffneten "Haupt-Menüpunk" schliesst sich dieser (bzw. das Dropdown) wieder. Klingt vielleicht verwirrend, ist aber anhand des Bildes nachvollziehbar (glaube ich zumindest).

Nun zu meinem Lösungsansatz. Jeder einzelne Menüpunkt ist ein Bild und somit logischerweise mit Js einfach zu steuern. Nun möchte ich die Dropdown-Menüs erscheinen bzw. verschwinden lassen indem ich die höhe dieser Bilder auf Null oder ihre ursprüngliche Höhe setze. Das funktioniert eigentlich ganz gut.

Nun zu meinem Problem. Damit das gesamte Menü funktioniert muss ich natürlich abfragen können ob oder welcher Menüpunkt geöffnet ist. Dies könnte man mit Variabeln machen oder indem ich die Höhe der Dropdown-Bilder abfrage. Leider habe ich keine funktionierende "if - else" - Abfrage zustande gebracht. Theoretisch setelle ich mir das so vor.
Code
function klick_mp1() { 
if (document.images[2].height=20) {
schliessen_mp1();
}
else if (document.images[2].heigth=0){
oeffnen_mp1();
}
}

function oeffnen_mp1() {
document.images[2].height=20;
document.images[3].height=20;
document.images[4].height=20;
}

function schliessen_mp1() {
document.images[2].height=0;
document.images[3].height=0;
document.images[4].height=0;
}


Natürlich ginge das auch mit Variablen, welche sich beim Öffnen und Schliessen verändern. Meine bisherigen Versuche sind jedoch gescheitert wie auch dieses Beispiel zeigt.
Darum bin ich froh um jede Anregung, Idee oder Unterstützung. Ich denke das ist für einen Js-Kenner eine leichte Aufgabe.

Danke
relex
X

Menü mit js -- Bedingungen if else

SabineP
Beiträge gesamt: 7586

6. Feb 2006, 19:11
Beitrag # 2 von 4
Beitrag ID: #209687
Bewertung:
(944 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo relex,

Schau Dir mal das SlideMenu2 von Thomas Brattli an:
http://dhtmlcentral.com/script/script.asp?id=32

Die Seite läd aber heute sehr langsam.

Gruß Sabine


als Antwort auf: [#209607]

Menü mit js -- Bedingungen if else

relex
Beiträge gesamt: 16

6. Feb 2006, 20:30
Beitrag # 3 von 4
Beitrag ID: #209706
Bewertung:
(936 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Danke Sabine für den Tip

Ich hab mir dieses Slide-Menü angesehen. Vom Prinzip her passt diese Variante ganz gut. Leider ist es für meinen Zweck etwas zu umfangreich und hat einen total anderen Lösungsansatz.
Nachdem in nun schon einen halben Roman hier als Antwort geschriben hatte bin ich doch noch selbst auf eine Lösung gekommen.
Mein gepostetes Script war schon fast richtig. Nur muss man in der "if-else"-Abrage den Operator == verwenden (= ist falsch).
Also so:
Code
function klick_mp1() { 
if (document.images[2].height==0) {
oeffnen_mp1();
}
else if (document.images[2].height==20){
schliessen_mp1()
}
}

Jetzt funktioniert es einwandfrei.

Danke nochmal
relex


als Antwort auf: [#209687]

Menü mit js -- Bedingungen if else

ganesh
Beiträge gesamt: 1981

9. Feb 2006, 03:21
Beitrag # 4 von 4
Beitrag ID: #210388
Bewertung:
(912 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
logo...

= ist eine Anweisung/Variablen-Definition
== ist eine Ueberprüfung/Check

:)


als Antwort auf: [#209706]
X