Archivlink: javarea.de Forum > JavaScript > Variable an Funktion übergeben
Vollständigen Link anzeigen: javarea.de Forum > JavaScript > Variable an Funktion übergeben

Pages: [1]

geschrieben von NEOX am 29.03.2007 - 15:12
Ich bin noch nicht besonders routiniert in Javascript und komme an dieser Stelle nicht richtig weiter. Habe ich hier einen Fehler? Es funktioniert jedenfalls noch nicht so wie es sollte. Ich will hiermit mehrere CSS-Attribute gleichzeitig ändern. Kann mir jemand vielleicht weiterhelfen?

HTML-Quelltext
1: 
2: 
3: 
4: 
5: 
6: 
7: 
var submenus = "volkswagen, audi, skoda, sportwagenpark";

function anzeigen(submenus, showhide)
{
  if (showhide==1){document.getElementById(submenus).style.visibility = "visible";}
  if (showhide==2){document.getElementById(submenus).style.visibility = "hidden";}
}

geschrieben von Micha am 29.03.2007 - 17:03
Hi,

Eine Funktion ruft man allg so auf: funktionsName(<Parameter>). In Deinem Fall wäre das bspw.
HTML-Quelltext
1: 
anzeigen("volkswagen", 1)


Hier würde das Element mit der ID volkswagen sichtbar gemacht werden.

Micha

geschrieben von NEOX am 30.03.2007 - 08:13
Vielen Dank für Deinen Hinweis! Aber eigentlich habe ich es anders gemeint. Ich habe noch etwas weiter experimentiert und hier ist der komplette Code:
HTML-Quelltext
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
function submenu_anzeigen(nr)
{
  for (x=1; x<11; x++)
  {
    name_id = "submenu_" + x; 
    if (x==nr) 
    {document.getElementById(name_id).style.visibility = "visible";}		
    else 
    {document.getElementById(name_id).style.visibility = "hidden";}	
  }
}

HTML-Quelltext
1: 
2: 
3: 
4: 
5: 
6: 
7: 
<ul>
      <li id="btn_marken"><a href="#" onclick="javascript:submenu_anzeigen(1)"></a></li>
	  <li id="submenu_1" class="submenu"><a href="#">Volkswagen</a></li>
	  <li id="submenu_2" class="submenu"><a href="#">Audi</a></li>
	  <li id="submenu_3" class="submenu"><a href="#">Skoda</a></li>
	  <li id="submenu_4" class="submenu"><a href="#">Sportwagenpark</a></li>
...usw.

Sobald man den Button "Marken" anklickt, soll das Untermenu erscheinen mit den verschiedenen Herstellern. Ich weiß nicht, wie ich die Funktion für mehrere Parameter umbauen kann. Deswegen hatte ich erst an eine Variable gedacht, aber dieser Weg funktioniert leider auch nicht. Für jeden Hinweis bin ich dankbar.

geschrieben von Micha am 30.03.2007 - 08:57
Hi,

ich würde es vermutlich etwas anders aufbauen. Im Moemnt hast Du gar kein Sub-Menü. Dein Eintrag "Audi" ist ja auf der selben Ebene wie Marken. Zumindest denke ich, das Du hier:

HTML-Quelltext
1: 
<a href="#" onclick="javascript:submenu_anzeigen(1)"></a></li>


auch einen Link-Text hast. Unter einem Sub-Mnü würde ich deshlab eine weitere Verschachtlung sehen in Form einer untergeordneten Liste.

Wenn Du Bspw. VW noch einmal unterteilen willst, dann musst Du den ersten Parameter mit "speichern". Du könntest also die Namen etwas abändern Deiner ID zb so:

menu_1_1
menu_1_2
menu_1_3

menu_2_1
menu_2_2

menu_3_1
menu_3_2
meun_3_3
menu_3_4

Hierbei steht die erste Ziffer für das Hauptmenü und die zweite für ein Untermenü, das kann man beliebig weiter verschachteln.

Marken wäre hier also zB die 1 und VW ein Unterpunkt unter 1 zB 3 --> menu_1_3

Wenn auf Marke geklicjt wird, müssen folglich alle menu_1_x einträge aufgehen. Wird auf VW geklickt, müssen alle menu_1_x Einträge offen bleiben und sich ggf. ein weiteres Menü öffnen. Deine Funktion könnte demnach leicht verändert so aussehen:

HTML-Quelltext
1: 
2: 
3: 
4: 
5: 
function submenu_anzeigen(mainmenu, submenu){
// und in der Schleife:
name_id = "submenu_" + mainmenu + "_" + subemnu; 

}


Hier musst Du jedoch noch selbst Hand anlegen um diverse Feinheiten auszuloten.

Micha


Powered by: JBB v.2.0.4 Copyright ©2000-2006, www.javarea.de.