Announcement

Collapse
No announcement yet.

Dynamisches Menü

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Dynamisches Menü

    Hallo,

    ich brauche mal Hilfe von Profis

    habe im internet ein Dynamisches Menü mit aufklappenden Untermenüs gefunden, leider funktioniert es mit dem Aufklappen der Untermenüs nicht wenn z.Bsp.:

    index.php?do=fils

    ist

    <?
    $siteRoot="/";
    $menuStruct=array(
    "Home"=>array("root"=>$siteRoot."index.php"),
    "Über uns"=>array("root"=>$siteRoot."ueberuns.php", "Firma"=>$siteRoot."firma.php", "Beteiligungen"=>$siteRoot."beteiligungen.php" ),
    "Allgemein"=>array("root"=>$siteRoot."allgemein.ph p", "Irgendwas"=>$siteRoot."irgendwas.php", "Noch mehr"=>$siteRoot."nochmehr.php")
    );

    if($PHP_SELF == $menuStruct[0]['root']){
    foreach($menuStruct as $key=>$value){
    if($PHP_SELF == $value['root']){
    echo "<div class=\"fstLevelActive\"><a href=".$value['root'].">$key</a></div>\n";
    }
    else{
    echo "<div class=\"fstLevel\"><a href=".$value['root'].">$key</a></div>\n";
    }
    }
    } else {
    foreach($menuStruct as $key=>$value){
    if($PHP_SELF == $value['root']){
    echo "<div class=\"fstLevelActive\"><a href=".$value['root'].">$key</a></div>\n";
    }else{
    echo "<div class=\"fstLevel\"><a href=".$value['root'].">$key</a></div>\n";
    }
    foreach($value as $key2=>$value2){
    if(array_search($PHP_SELF,$value)){
    if($key2 != "root")
    if($PHP_SELF == $value2){
    echo "<div class=\"secLevelActive\"><a href=".$value2.">$key2</a></div>\n";
    }else{
    echo "<div class=\"secLevel\"><a href=".$value2.">$key2</a></div>\n";
    }
    }
    }
    }
    }
    ?>

  • #2
    also ich komme mit dem code zwar nicht ganz zurecht, den du da geschrieben hast, aber ich habe das (was du willst) schonmal früher gelöst.

    Schritt 1:

    schreib dir eine JS-Script-Funktion welche einzelne textblöcke oder ähnliches "sichtbar" und "unsichtbar" machen kann.

    BSP:

    <script language="jscript" type="text/javascript">
    function Klapptext (id)
    {
    for(var schleife=0;schleife<=200;schleife++){
    if (document.getElementById("text_" + schleife) && document.getElementById("text_" + schleife).style.display) { //kontrolliert, ob das objekt vorhanden ist
    document.getElementById("text_" + schleife).style.display="none";
    }
    }
    if (document.getElementById("text_" + id) && document.getElementById("text_" + id).style.display) //kontrolliert, ob das objekt vorhanden ist
    {
    document.getElementById("text_" + id).style.display = "block"; //mach es sichtbar
    }
    }
    </script>

    Erklärung:

    hier werden alle felder deiner homepage mit namen "text_1" bis "text_200" durchgegangen und zugeklappt.
    die übergebene ID wird dann lediglich als einziges aufgeklappt.
    P.s.: wenn du den code unnötig kürzen willst, entstehen fehler... ich brauchte 7tage um diesesn code zu schreiben =))

    Schritt 2:

    nun kommt so ziemlich mit das wichtigste!
    nun vergebe den texten die du sehen willst einzelne id's.
    damit man anfangs die möglichkeit hat auszuwählen was sichtbar ist und was nicht gibts auch in html direkt style="block" und style="none" (oder so h3h3, das wirst wohl selber rausfinden, is wie gesagt schon ewig lange her)

    bsp:
    <test id="text_1" style="display: block"> dein wunschtext </test>
    <test id="text_2" style="display: none"> dein wunschtext 2 </test>

    weis net genau wies hies, aber so kanns aussehen ^^

    mfG Noo

    Comment

    Working...
    X