Seite 1 von 2 12 LetzteLetzte
ERLEDIGT
JA
ANTWORTEN
22
ZUGRIFFE
1025
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
  1. #1
    L-u-z-i-f-e-r ist offline Mitglied
    Registriert seit
    Aug 2005
    Beiträge
    18
    Hi Leutz

    Ich habe folgendes Problem: Ich möchte (wie so viele andere) ein Menü. ich habe auch schon die Boardsuche ausgiebig befragt und auch augenscheinlich ne ganze Menge gefunden. Doch eine Frage bleibt leider ungeklärt. Ich habe u.a. diese beiden bsps gefunden:

    http://www.tutorials.de/tutorials132324.html
    http://www.tutorials.de/tutorials24983.html

    die sind schon sehr gut, da die Eventhandler hier direkt in den Tags sind, und man sie daher relativ leicht durch andere Tags z.b. für Grafiken austauschen kann.

    Nun möchte ich aber, dass direkt rechts neben meinem Hauptpunkt mein 1. Unterpunkt erschein, alle weiteren Unterpunkte dann darunter; der 1. Unterpunkt der 2. Menüunterebene soll dann wieder neben dem Übergeordneten Punkt erscheinen.
    Ich habe auch gelesen, dass man sowas mit Dreamweaver machen kann (sofern man die Kenntnisse hat) und genau da hapert es, denn ich benutze fast nur AdobeGoLive, habe also wenig Erfahrung mit dem Dw
     

  2. #2
    Avatar von con-f-use
    con-f-use ist offline Mitglied Diamant
    Registriert seit
    Oct 2004
    Ort
    München / Innsbruck
    Beiträge
    2.262
    http://www.tutorials.de/tutorials215197.html

    Damit wollte Sven sagen, dass wir nicht der Weihnachtsmann sind, dem die Elfen die Wunschzettelchen der Kinder bringen und der sie dann abarbeitet.

    Wir helfen dir gerne wenn du ein konkretes Problem hast oder bei deinen Bemühungen auf einen Fehler stößt, den du dir nicht erklären kannst, aber wir schreiben nicht das Script für dich.

    Rein vom Prinzip her bastelst du dein gesamtes Menü erstmal mit HTML und CSS, so als wären allen Unterpunkte ständig sichtbar. Mit JavaScript machst du sie dann über document.getElementById('idDesElements').style.display = 'none' bzw. 'block' in winwm onMouseover, onMouseout oder onclick-Even sichtbar bzw. unsichtbar. Das ist alles, den Rest kannst du mit HTML und CSS machen - du brauchst also nur minimale JavaScript Kenntnisse. Onmouseover Menüs lassen sich sogar nur mit CSS realisieren.
     
    Wäre der Satz "Ich möchte auf meinem Fisch-und-Chips-Schild einen Bindestrich zwischen die Wörter Fisch und und und und und Chips machen" nicht deutlicher, wenn Anführungszeichen vor Fisch und zwischen Fisch und und und und und und und und und und und und und und und und und und und und und Chips und auch nach Chips wären?

    | Meine Homepage: Forschung, unethische | Meine Seite mit viel verlangten Javascrits |

    -----------

    Zufriedenstellende Beiträge bitte als erledigt markieren!


  3. #3
    L-u-z-i-f-e-r ist offline Mitglied
    Registriert seit
    Aug 2005
    Beiträge
    18
    ja das verstehe ich, aber ich bin so verzweifelt, weil ich schon seit 14 stunden nach einer lösung suche...... (ich weiß ich sollte mal ne pause machen... )

    ok, lange rede kurzer sinn, jetzt hab ich ein konkretes prob: es geht um diesen code:

    http://www.tutorials.de/tutorials132324.html

    da steht folgendes:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    
    function menu( mid, mdepht) {       
           if (mstat[mdepht] == undefined) {
               mstat[mdepht] = "";
           }
           if (mstat[mdepht] != "" && mstat[mdepht] != mid) {
               window.document.getElementById(mstat[mdepht]).style.display = "none";
           }
           if (mstat[mdepht] != mid) {
               window.document.getElementById(mid).style.display = "block";
               window.document.getElementById(mid).style.paddingLeft = mdepht * 10;
               mstat[mdepht] = mid;
           } else {
               window.document.getElementById(mid).style.display = "none";
               mstat[mdepht] = "";
           }
       }

    da wird nun das Element unsichtbar gemacht, aber nur wenn "mstat[mdepht] != mid" das wiederrum ist aber nur der Fall wenn das Element sowie schon unsichtbar ist!?
     

  4. #4
    L-u-z-i-f-e-r ist offline Mitglied
    Registriert seit
    Aug 2005
    Beiträge
    18
    ok das obenliegende problem habe ich soweit gelöst

    nun aber noch was anderes: warum wird diese abfrage nie true?

    Code :
    1
    
    if (mstat[mdepht] == 1)

    ich habs auch schon mit

    Code :
    1
    
    if (parseInt(mstat[mdepht]) == 1)

    versucht.....

    im prinzip ja eine einfache Abfrage, und theoretisch müsste der Wert ja auch 1 sein, denn den bekommt er ja schon im Funktionsaufruf, und wird dann ja auch nicht verändert........

    ps. ich möchte die oben genannte zeile zwischen der 9. und 10. zeile einfügen, also hier:

    Code :
    1
    2
    3
    4
    5
    6
    
    if (mstat[mdepht] != mid) { 
            window.document.getElementById(mid).style.display = "block"; 
                if (parseInt(mstat[mdepht]) == 1) {
                window.document.getElementById(mid).style.paddingLeft = mdepht * 10; 
                }
            mstat[mdepht] = mid;
     

  5. #5
    Avatar von con-f-use
    con-f-use ist offline Mitglied Diamant
    Registriert seit
    Oct 2004
    Ort
    München / Innsbruck
    Beiträge
    2.262
    Nö, das ist der Fall, wenn es sichtbar ist - da steht ein ungleich. Am Anfang ist es unsichtbar. Dann wird die funktion per Click aufgerufen und die erste if-Bedingung trifft zu, also wird mstat[mdepht]="" die zweite if-Bedinung trifft damit nicht mehr zu, dafür aber die dritte, die das ganze sichtbar macht und mstat[mdepht]=mid setzt. Beim nächsten mal trifft dann due dritte nicht mehr zu und die else-Anweisungen werden ausgeführt, so dass es bei nächsten Mal wieder zutrifft usw.
     
    Wäre der Satz "Ich möchte auf meinem Fisch-und-Chips-Schild einen Bindestrich zwischen die Wörter Fisch und und und und und Chips machen" nicht deutlicher, wenn Anführungszeichen vor Fisch und zwischen Fisch und und und und und und und und und und und und und und und und und und und und und Chips und auch nach Chips wären?

    | Meine Homepage: Forschung, unethische | Meine Seite mit viel verlangten Javascrits |

    -----------

    Zufriedenstellende Beiträge bitte als erledigt markieren!


  6. #6
    Avatar von con-f-use
    con-f-use ist offline Mitglied Diamant
    Registriert seit
    Oct 2004
    Ort
    München / Innsbruck
    Beiträge
    2.262
    Ah, ich sehe schon, du warst 3 min schneller als ich.

    Zu deinem zweiten Problem: mstat[mdepht] wird nie ==1 weil es immer den Wert von mid mitgekommt und der ist nunmal immer "m1", "m2", "m3" usw.
     
    Wäre der Satz "Ich möchte auf meinem Fisch-und-Chips-Schild einen Bindestrich zwischen die Wörter Fisch und und und und und Chips machen" nicht deutlicher, wenn Anführungszeichen vor Fisch und zwischen Fisch und und und und und und und und und und und und und und und und und und und und und Chips und auch nach Chips wären?

    | Meine Homepage: Forschung, unethische | Meine Seite mit viel verlangten Javascrits |

    -----------

    Zufriedenstellende Beiträge bitte als erledigt markieren!


  7. #7
    L-u-z-i-f-e-r ist offline Mitglied
    Registriert seit
    Aug 2005
    Beiträge
    18
    Zitat Zitat von con-f-use
    Zu deinem zweiten Problem: mstat[mdepht] wird nie == 1 weil es immer den Wert von mid mitgekommt und der ist nunmal immer "m1", "m2", "m3" usw.
    ja aber das steht doch erst eine zeile weiter unten.....
     

  8. #8
    Avatar von con-f-use
    con-f-use ist offline Mitglied Diamant
    Registriert seit
    Oct 2004
    Ort
    München / Innsbruck
    Beiträge
    2.262
    Beim ersten durchlauf existiert mstat[mdepht] nicht und wird deswegen mit
    Code :
    1
    2
    3
    
    [color=#000000][color=#007700]  if ([/color][color=#0000bb]mstat[/color][color=#007700][[/color][color=#0000bb]mdepht[/color][color=#007700]] == [/color][color=#0000bb]undefined[/color][color=#007700]) { 
            [/color][color=#0000bb]mstat[/color][color=#007700][[/color][color=#0000bb]mdepht[/color][color=#007700]] = [/color][color=#dd0000]""[/color][color=#007700]; 
        } [/color][/color]
    initialisiert. Fortan hatt es entweder den Wert "" oder den Wert "m1", "m2" usw. mstat[mdepht] ist ja außerhalb der Variablen initialisiert und exisitiert weiter auch nach verschiedenen onclick-Aufrufen.
     
    Wäre der Satz "Ich möchte auf meinem Fisch-und-Chips-Schild einen Bindestrich zwischen die Wörter Fisch und und und und und Chips machen" nicht deutlicher, wenn Anführungszeichen vor Fisch und zwischen Fisch und und und und und und und und und und und und und und und und und und und und und Chips und auch nach Chips wären?

    | Meine Homepage: Forschung, unethische | Meine Seite mit viel verlangten Javascrits |

    -----------

    Zufriedenstellende Beiträge bitte als erledigt markieren!


  9. #9
    L-u-z-i-f-e-r ist offline Mitglied
    Registriert seit
    Aug 2005
    Beiträge
    18
    hmm sh%t........ dann funktioniert mein plan nicht.....

    du hast sicherlich schon erkannt, was ich vorhatte: ich wollte das nur eine bestimmt menüebene eingeschoben wird, hast du vllt ne idee wie ich das sonst machen könnte?
    Geändert von L-u-z-i-f-e-r (27.08.05 um 23:34 Uhr)
     

  10. #10
    Avatar von con-f-use
    con-f-use ist offline Mitglied Diamant
    Registriert seit
    Oct 2004
    Ort
    München / Innsbruck
    Beiträge
    2.262
    Hä? Wieso fragst du dann nicht mid=="m1", =="m2" usw. ab?

    Diese komische zensierfunktion hier im Forum nervt.
    Geändert von con-f-use (28.08.05 um 00:45 Uhr)
     
    Wäre der Satz "Ich möchte auf meinem Fisch-und-Chips-Schild einen Bindestrich zwischen die Wörter Fisch und und und und und Chips machen" nicht deutlicher, wenn Anführungszeichen vor Fisch und zwischen Fisch und und und und und und und und und und und und und und und und und und und und und Chips und auch nach Chips wären?

    | Meine Homepage: Forschung, unethische | Meine Seite mit viel verlangten Javascrits |

    -----------

    Zufriedenstellende Beiträge bitte als erledigt markieren!


  11. #11
    L-u-z-i-f-e-r ist offline Mitglied
    Registriert seit
    Aug 2005
    Beiträge
    18
    tut mir leid, das versteh ich nicht, wie meinst du das genau? also jetzt von der umsetzung her? du willst ja wahrscheinlich darauf hinaus, dass wenn mstat[mdepht] == "m1" ist, die erste ebene offen ist, aber das kann (soweit ich das sehe) aus zwei gründen nicht funktionieren: 1. die if schließt das aus (also die dritte if) und 2. ist das menü ja schon offen in dem durchgang, in dem theoretisch diese abfrage wahr werden würde
     

  12. #12
    L-u-z-i-f-e-r ist offline Mitglied
    Registriert seit
    Aug 2005
    Beiträge
    18
    ok auch das habe ich gelöst

    Code :
    1
    2
    3
    4
    5
    6
    
        if (mstat[mdepht] != mid) { 
            window.document.getElementById(mid).style.display = "block"; 
                if (mid == "m1" || "m2" && mid != "mu1" && mid != "mu2") {
                window.document.getElementById(mid).style.paddingLeft = 50; 
                }
            mstat[mdepht] = mid;

    das einzige problem was mir jetzt noch bleibt, ist das wenn ich menü 1 inklusive untermenüs ausgeklappt habe und dann auf menü2 wechsel oder menü1 einfach so zumache (kurz: wenn ich es irgendwie schließe) und dann wieder öffne sind die untermenüs immer noch offen...... woran liegt das? oder ist das so einfach dass ich das nicht sehe
     

  13. #13
    Avatar von con-f-use
    con-f-use ist offline Mitglied Diamant
    Registriert seit
    Oct 2004
    Ort
    München / Innsbruck
    Beiträge
    2.262
    Ich meinte ja, dass du mid abfragst...

    Egal, kannst du mal den gesamten upgedateten Code incl. des HTML-Codes posten - ich verlier so langsam den Überblick...

    Wahrscheinlich musst du einfach die Funktion nochmal extra für die Untermenüs aufrufen.
    Geändert von con-f-use (28.08.05 um 00:46 Uhr)
     
    Wäre der Satz "Ich möchte auf meinem Fisch-und-Chips-Schild einen Bindestrich zwischen die Wörter Fisch und und und und und Chips machen" nicht deutlicher, wenn Anführungszeichen vor Fisch und zwischen Fisch und und und und und und und und und und und und und und und und und und und und und Chips und auch nach Chips wären?

    | Meine Homepage: Forschung, unethische | Meine Seite mit viel verlangten Javascrits |

    -----------

    Zufriedenstellende Beiträge bitte als erledigt markieren!


  14. #14
    L-u-z-i-f-e-r ist offline Mitglied
    Registriert seit
    Aug 2005
    Beiträge
    18
    klar np

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    
    <html> 
    <head> 
    <style type="text/css"> 
    div { 
      width: 100px; 
    } 
    </style> 
    <script type="text/javascript"> 
    var mstat = new Array(); 
     
    function menu( mid, mdepht) { 
        if (mstat[mdepht] == undefined) { 
            mstat[mdepht] = ""; 
        } 
        if (mstat[mdepht] != "" && mstat[mdepht] != mid) { 
            window.document.getElementById(mstat[mdepht]).style.display = "none"; 
        } 
        if (mstat[mdepht] != mid) { 
            window.document.getElementById(mid).style.display = "block"; 
                if (mid == "m1" || "m2" && mid != "mu1" && mid != "mu2") {
                window.document.getElementById(mid).style.paddingLeft = 50; 
                }
            mstat[mdepht] = mid; 
        } else { 
            window.document.getElementById(mid).style.display = "none"; 
            mstat[mdepht] = "";
        } 
    } 
    </script> 
    </head> 
    <body> 
     
    <a href="" onClick="menu('m1',1);return false;"><img src="../menu/images/background1.jpg"></a><br> 
    <div id="m1" style="display:none;"> 
        <a href="" onClick="menu('mu1',2);return false;">Unterpunkt 1</a><br> 
        <div id="mu1" style="display:none;"> 
            <a href="">bla 1</a><br> 
            <a href="">bla 2</a> 
        </div> 
        <a href="sd">bla h3</a> 
    </div> 
    <a href="" onClick="menu('m2',1);return false;"><img src="../menu/images/background2.jpg"></a>
    <div id="m2" style="display:none;"> 
        <a href="" onClick="menu('mu2',2);return false;">Unterpunkt 2</a><br> 
        <div id="mu2" style="display:none;"> 
            <a href="">bla 1</a><br> 
            <a href="">bla 2</a><br> 
        </div> 
        <a href="sd">bla 3</a> 
    </div>
        </body> 
    </html>
     

  15. #15
    Avatar von con-f-use
    con-f-use ist offline Mitglied Diamant
    Registriert seit
    Oct 2004
    Ort
    München / Innsbruck
    Beiträge
    2.262
    Das liegt an der Variablen Belegung - der Zustand (offen oder zu) wird ja im Array mstat für jeden Menüebene gespeichert - eine Unterebene wird aber in der funktion nirgends geschlossen.
     
    Wäre der Satz "Ich möchte auf meinem Fisch-und-Chips-Schild einen Bindestrich zwischen die Wörter Fisch und und und und und Chips machen" nicht deutlicher, wenn Anführungszeichen vor Fisch und zwischen Fisch und und und und und und und und und und und und und und und und und und und und und Chips und auch nach Chips wären?

    | Meine Homepage: Forschung, unethische | Meine Seite mit viel verlangten Javascrits |

    -----------

    Zufriedenstellende Beiträge bitte als erledigt markieren!


Seite 1 von 2 12 LetzteLetzte

Ähnliche Themen

  1. Popupmenü und Variablen
    Von aherzog im Forum PHP
    Antworten: 3
    Letzter Beitrag: 19.02.06, 14:50
  2. Ausklapp/Popupmenü
    Von Christofk im Forum Flash Plattform
    Antworten: 1
    Letzter Beitrag: 29.08.04, 00:20
  3. DW MX - Popupmenü - Schriftausrichtung
    Von BCS im Forum HTML-Editoren
    Antworten: 13
    Letzter Beitrag: 08.07.04, 17:51