tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
7
ZUGRIFFE
1917
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Garaen Garaen ist offline Rookie
    Registriert seit
    May 2004
    Beiträge
    7
    Hio

    Ich habe das Tutorial für ein Dynamisches DTHML Menu durchgelesen und den Skript leicht verändert:

    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
    
    <html>
    <head>
    <title>Basic DHTML Menu</title>
     
    <script type="text/javascript">
    <!--
     
    function show(divid) {
    d=document;
    d.getElementById("cat1").style.display="none";
    d.getElementById("cat2").style.display="none";
     
    d.getElementById(divid).style.display="inline";
    }
     
    //-->
    </script>
     
    </head>
    <body bgcolor="#FFFFFF">
     
    <a href="#" onMouseover="show('cat1')">Category 1</a><br>
    <div id="cat1" style="display:none">
    <a href="#" class="sub"><TR><TD width="70">
                <IMG SRC="Bild/MITGLIEDER.gif" WIDTH=70 HEIGHT=30 border="0"></TD></TR></a><br>
    <a href="#" class="sub"><TR><TD width="70">
                <IMG SRC="Bild/MITGLIEDER.gif" WIDTH=70 HEIGHT=30 border="0"></TD></TR></a><br>
    <a href="#" class="sub"><TR><TD width="70">
                <IMG SRC="Bild/MITGLIEDER.gif" WIDTH=70 HEIGHT=30 border="0"></TD></TR></a><br>
    </div><br>
    <a href="#" onMouseover="show('cat2')">Category 2</a><br>
    <div id="cat2" style="display:none">
    <a href="#" class="sub"><TR><TD width="70">
                <IMG SRC="Bild/MITGLIEDER.gif" WIDTH=70 HEIGHT=30 border="0"></TD></TR></a><br>
    <a href="#" class="sub"><TR><TD width="70">
                <IMG SRC="Bild/MITGLIEDER.gif" WIDTH=70 HEIGHT=30 border="0"></TD></TR></a><br>
    <a href="#" class="sub"><TR><TD width="70">
                <IMG SRC="Bild/MITGLIEDER.gif" WIDTH=70 HEIGHT=30 border="0"></TD></TR></a><br>
    </div><br>
    </body>
    </head>
     
    </html>

    Nun meine Frage:
    Wie mache ich dass das Menu sich nach oben aufklappt?
    Wie mache ich dass es, wenn der Cursor nicht darüber ist, sich wieder einklappt? (Onmouseout?)

    Danke im Voraus
     

  2. #2
    Quaese Quaese ist offline Moderator
    tutorials.de Moderator
    Registriert seit
    Feb 2004
    Beiträge
    3.451
    Hi,

    Du meinst sicherlich, dass sich das Menü über dem Link aufklappt. Einfach den
    Link unterhalb des Div-Containers plazieren.
    Code :
    1
    2
    3
    
    <div id="cat1" style="display: none;" ...>
    </div>
    <a href="#" ...>Category 1</a>
    Mit dem onmouseout kannst Du das Einklappen des Menüs erreichen. Ich
    würde das Script jedoch etwas abändern.
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    
    function show(divid, isOver) {
        d=document;
        if(isOver == 1){
            d.getElementById(divid).style.display="inline";
        }else{
            d.getElementById(divid).style.display="block";
        }
    }
    Das Script erwartet die Übergabe von zwei Parametern:
    divid - ID des einzublendenden Menüs
    isOver - 1 = es handelt sich um ein Mouseover-Effekt, sonst = MouseOut

    Ausserdem habe ich wegen der Anzeige in Nicht-IE-Browsern "inline" in "block" geändert.

    Aufgerufen wird die Funktion wie folgt:
    Code :
    1
    2
    3
    4
    5
    6
    
    <div id="cat1" style="display:none" onMouseover="show('cat1',1)" onmouseout="show('cat1',0)">
        <a href="#" class="sub"><TR><TD width="70"><IMG SRC="Bild/MITGLIEDER.gif" WIDTH=70 HEIGHT=30 border="0"></TD></TR></a><br>
        <a href="#" class="sub"><TR><TD width="70"><IMG SRC="Bild/MITGLIEDER.gif" WIDTH=70 HEIGHT=30 border="0"></TD></TR></a><br>
        <a href="#" class="sub"><TR><TD width="70"><IMG SRC="Bild/MITGLIEDER.gif" WIDTH=70 HEIGHT=30 border="0"></TD></TR></a><br>
    </div>
    <a href="#" onMouseover="show('cat1', 1)" onmouseout="show('cat1',0)">Category 1</a><br><br>
    "onmouseout" und "onmouseover" werden sowohl im Div-Container als auch im
    Link eingebunden!

    Ausserdem verwendest Du in Deinen Menü TD- und TR-Tags, ohne eine Tabelle
    definiert zu haben!?

    Ciao
    Quaese
     
    Vielleicht muss man manchmal vom Weg abkommen, um nicht auf der Strecke zu bleiben!
    ----
    Der "Fortsetzungsroman" auf www.leuteforum.de

    New kind to realize large scalable projects with jQuery: jQuery SDK

  3. #3
    Garaen Garaen ist offline Rookie
    Registriert seit
    May 2004
    Beiträge
    7
    Danke für die schnelle Hilfe.

    Das Menu klappt zwar nun nach oben auf .. aber das mit dem einklappen geht irgendwie nochnicht ganz.
    Woran könnte das liegen?
    ------------------------------------------------------------------------------------------------------
    "Ausserdem verwendest Du in Deinen Menü TD- und TR-Tags, ohne eine Tabelle
    definiert zu haben!?"

    Ähm...... meinst du mit dem <table> </table> Tag ?
    -------------------------------------------------------------------------------------------------------


    thx im Voraus
     

  4. #4
    Quaese Quaese ist offline Moderator
    tutorials.de Moderator
    Registriert seit
    Feb 2004
    Beiträge
    3.451
    Hi,

    es kann unzählige Gründe haben, dass das Menü nicht aufklappt! Da es bei mir
    jedoch problemlos funktioniert, schicke ich Dir den Code im Anhang mit.

    Ja, ich meinte Table-Tags. Die habe ich ebenfalls in den Code eingefügt.

    Ciao
    Quaese
     
    Vielleicht muss man manchmal vom Weg abkommen, um nicht auf der Strecke zu bleiben!
    ----
    Der "Fortsetzungsroman" auf www.leuteforum.de

    New kind to realize large scalable projects with jQuery: jQuery SDK

  5. #5
    Garaen Garaen ist offline Rookie
    Registriert seit
    May 2004
    Beiträge
    7
    hm stimmt es funktioniert !

    Danke vielmals !
     

  6. #6
    Garaen Garaen ist offline Rookie
    Registriert seit
    May 2004
    Beiträge
    7
    hio
    Hm das Skript funktioniert zwar super .. aber irendwie schaffe ich es nicht das richtig in meine Website, welche mit Slices erstellt wurde, zu integrieren ....
    Kaum ist das Script drin, verschieben sich alle Slices .
    Hier ist der Quelltext meiner Website (thoraxchirurgie.ch. + tt)
    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
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    
    rl]
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 transitional//EN">
    <HTML>
    <HEAD>
    <TITLE>Thoraxchirurgie</TITLE>
    <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">    
     
    <script type="text/javascript">
    <!--
     
    function show(divid, isOver) {
        d=document;
        if(isOver == 1){
          d.getElementById(divid).style.display="inline";
        }else{
          d.getElementById(divid).style.display="none";
        }
    }
    //-->
    </script>
     
    </HEAD>
    <BODY BGCOLOR=#FFFFFF LEFTMARGIN=0 TOPMARGIN=0 MARGINWIDTH=0 MARGINHEIGHT=0 >
    <DIV ALIGN=CENTER>
     
    <!-- ImageReady Slices (Thoraxchirurgie.psd) -->
    <TABLE WIDTH=785 BORDER=0 CELLPADDING=0 CELLSPACING=0>
        <TR>
            <TD WIDTH=48 HEIGHT=900 ROWSPAN=8>
                <IMG SRC="Bild/spacer.gif" ALT=""></TD>
            <TD HEIGHT=21 COLSPAN=13>
                <IMG SRC="Bild/spacer.gif" ALT=""></TD>
        </TR>
        <TR>
            <TD Background="Bild/Header2.gif" HEIGHT=122 ALT="" COLSPAN=12>
        </TD>
            <TD WIDTH=46 HEIGHT=879 ROWSPAN=7>
                <IMG SRC="Bild/spacer.gif" ALT=""></TD>
        </TR>
        <TR>
            <TD Background="Bild/Header2-03.gif" HEIGHT=40 ALT="" COLSPAN=9 ROWSPAN=2>
               </TD>
            <TD Background="Bild/Marquee.gif" WIDTH=352 HEIGHT=25 ALT="">
        <marquee>April 25 - 28., AATS American Association for Thoracic Surgery, Toronto ||||| June 23 - 25., Schweizerische Gesellschaft f&uuml;r Chirurgie gemeinsam mit der Schweizerischen Gesellschaft f&uuml;r Thorax-, Herz- und Gef&auml;sschirurgie, Davos ||||| September 12 - 15., EACTS European Association for Cardio Thoracic Surgery, Leipzig ----- 
                                </marquee>
                </TD>
            <TD Background="Bild/Header2-05.gif" WIDTH=75 HEIGHT=40 ALT="" COLSPAN=2 ROWSPAN=2>
              </TD>
        </TR>
        <TR>
            <TD Background="Bild/Header2-06.gif" WIDTH=352 HEIGHT=15 ALT="">
          </TD>
        </TR>
        <TR>
            <TD Background="Bild/Seite-Links.gif" WIDTH=7 HEIGHT=584 ALT="" ROWSPAN=2>
               </TD>
            <TD><a href="homesite.html" target="main"><img src="Bild/HOME.gif" width="49" height="36" name="button" border="0"></a></TD>
            <TD Background="Bild/navpause1.gif" WIDTH=2 HEIGHT=36 ALT="">
                </TD>
            
     [B]
            <TD><a href="statutensite.html" target="main"><img src="Bild/STATUTEN.gif" width="60" height="36" border="0"></a></TD>
     [/B]
     
            <TD Background="Bild/navpause2.gif" WIDTH=1 HEIGHT=36 ALT="">
                 </TD>
            <TD width="70">
                <IMG SRC="Bild/MITGLIEDER.gif" WIDTH=70 HEIGHT=36 ALT=""></TD>
            <TD Background="Bild/navpause3.gif" WIDTH=2 HEIGHT=36 ALT="">
                   </TD>
            <TD width="65">
                <IMG SRC="Bild/VORSTAND.gif" WIDTH=65 HEIGHT=36 ALT=""></TD>
            <TD Background="Bild/nix.gif" WIDTH=428 HEIGHT=36 ALT="" COLSPAN=3>
               </TD>
            <TD Background="Bild/Seite-Rechts.gif" WIDTH=7 HEIGHT=584 ALT="" ROWSPAN=2>
             </TD>
        </TR>
        <TR>
            <TD Background="Bild/Main.gif" HEIGHT=548 ALT="" COLSPAN=10>
         <IFRAME SRC="homesite.html" WIDTH="677" HEIGHT="548" name="main" align="center"
         border="0" frameborder="0" noresize scrolling="auto">
         </IFRAME> 
                   </TD>
        </TR>
        <TR>
            <TD Background="Bild/Unten.gif" HEIGHT=66 ALT="" COLSPAN=12>
                    </TD>
        </TR>
        <TR>
            <TD HEIGHT=67 COLSPAN=12>
                <IMG SRC="Bild/spacer.gif" ALT=""></TD>
        </TR>
        <TR>
            <TD WIDTH=48 HEIGHT=1>
                <IMG SRC="Bild/spacer.gif" ALT=""></TD>
            <TD WIDTH=7 HEIGHT=1>
                <IMG SRC="Bild/spacer.gif" ALT=""></TD>
            <TD WIDTH=49 HEIGHT=1>
                <IMG SRC="Bild/spacer.gif" ALT=""></TD>
            <TD WIDTH=2 HEIGHT=1>
                <IMG SRC="Bild/spacer.gif" ALT=""></TD>
            <TD WIDTH=60 HEIGHT=1>
                <IMG SRC="Bild/spacer.gif" ALT=""></TD>
            <TD WIDTH=1 HEIGHT=1>
                <IMG SRC="Bild/spacer.gif" ALT=""></TD>
            <TD WIDTH=70 HEIGHT=1>
                <IMG SRC="Bild/spacer.gif" ALT=""></TD>
            <TD WIDTH=2 HEIGHT=1>
                <IMG SRC="Bild/spacer.gif" ALT=""></TD>
            <TD WIDTH=65 HEIGHT=1>
                <IMG SRC="Bild/spacer.gif" ALT=""></TD>
            <TD WIDTH=8 HEIGHT=1>
                <IMG SRC="Bild/spacer.gif" ALT=""></TD>
            <TD WIDTH=352 HEIGHT=1>
                <IMG SRC="Bild/spacer.gif" ALT=""></TD>
            <TD WIDTH=68 HEIGHT=1>
                <IMG SRC="Bild/spacer.gif" ALT=""></TD>
            <TD WIDTH=7 HEIGHT=1>
                <IMG SRC="Bild/spacer.gif" ALT=""></TD>
            <TD WIDTH=46 HEIGHT=1>
                <IMG SRC="Bild/spacer.gif" ALT=""></TD>
        </TR>
    </TABLE>
    <!-- End ImageReady Slices -->
    </BODY>
    </HTML>

    das Scipt sollte da stehen :

    <TD><a href="statutensite.html" target="main"><img src="Bild/STATUTEN.gif" width="60" height="36" border="0"></a></TD>

    Kann das Menu nicht Tabellenübergreifend sein ?

    Thx im Voraus
     

  7. #7
    Quaese Quaese ist offline Moderator
    tutorials.de Moderator
    Registriert seit
    Feb 2004
    Beiträge
    3.451
    Hi,

    damit das Menü Dein Layout nicht verschiebt, muss es absolut positioniert werden.

    Ich bin folgendermassen vorgegangen:
    • Einen äusseren relativen Div erstellt. Dieser nimmt alle weiteren Menü-Elemente
      auf. Die absoluten Angaben der enthaltenen Elemente beziehen sich auf die
      Abmessungen dieses Containers.
    • Absolutes Positionieren des Ausklappmenüs um die Anzahl Pixel des Linkbildes
      oberhalb des unteren Randes.
    • Absolutes Positionieren von Link und Bild genau auf dem unteren Rand.
    Weiterhin habe ich in die Tabellenzellen des Menüs ein Hintergrundbild eingebunden.
    Dies war notwendig, da sonst Lücken zu sehen waren (Bild war zu schmal).

    Ich habe den Quellcode und das Hintergrundbild in den Anhang gepackt.

    Ach ja, ich habe zum Testen alle Bilder mit absolutem Pfad eingebunden. Das
    musst Du wieder ändern.

    Hoffentlich hast Du es Dir so vorgestellt.

    Edit:
    In Zeile 54 steht valign="middle". Das musst Du in valign="bottom"
    ändern, da sonst die Anzeige im Opera nicht richtig funktioniert.

    Ciao
    Quaese
    Geändert von Quaese (21.05.04 um 19:14 Uhr)
     
    Vielleicht muss man manchmal vom Weg abkommen, um nicht auf der Strecke zu bleiben!
    ----
    Der "Fortsetzungsroman" auf www.leuteforum.de

    New kind to realize large scalable projects with jQuery: jQuery SDK

  8. #8
    Garaen Garaen ist offline Rookie
    Registriert seit
    May 2004
    Beiträge
    7
    Sieht schon viel schöner aus nur sind einzelne Teile noch verschoben .. aber danke vielmals muss mir das mal anschauen
     

Ähnliche Themen

  1. DHTML-Menu Erweiterung
    Von macleod im Forum HTML & XHTML
    Antworten: 3
    Letzter Beitrag: 11.11.05, 00:29
  2. Basic DHTML Menu erweitern
    Von M-GT im Forum Javascript & Ajax
    Antworten: 6
    Letzter Beitrag: 31.10.05, 11:03
  3. Basic-DHTML Menu
    Von Sesselman im Forum Javascript & Ajax
    Antworten: 2
    Letzter Beitrag: 10.08.04, 12:13
  4. Dhtml menu und frames
    Von Master Flexi im Forum HTML & XHTML
    Antworten: 4
    Letzter Beitrag: 28.03.04, 19:58
  5. DHTML Menu + Frames
    Von Jin im Forum HTML & XHTML
    Antworten: 2
    Letzter Beitrag: 24.02.04, 11:12