Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
(Web-) Design und webbasierte Sprachen Tipps & Tricks, Designabgleich, HTML & Javascript, Flash, ASP, PHP, Perl/CGI...

Aufklappbares Menü

Diskussion: Aufklappbares Menü im Forum (Web-) Design und webbasierte Sprachen, in der Kategorie Web, Network & Multimedia Palace; Anzeige Hi ! Ich habe schon gesucht, aber mich bringen die Sachen nicht weiter, weil oft nur ein Hover Effekt ...

Antwort
Alt 28.03.10, 19:25   #1 (permalink)
 
Registriert seit: 19.08.04
Dawen Leistung: Addierstift
Likes: 1
Standard Aufklappbares Menü

Anzeige

Hi !

Ich habe schon gesucht, aber mich bringen die Sachen nicht weiter, weil oft nur ein Hover Effekt per CSS gemacht wird. Was ich z.B. habe ist

  • Team ( Menü Punkt )
    • Mister X ( Untermenü )
    • Mister Y ( Untermenü )
    • .....

Bei einem Klick auf Team soll das Untermenü erscheinen, mit Mister X, Mister Y. Es soll also ein richtiges aufklappbares Menü sein. Hat einer vielleicht bei sich auf der Platte ein funktionierendes Beispiel

Ich versorge erstmal meine Erkältung und bedanke mich im voraus
Dawen ist offline   Mit Zitat antworten
Alt 28.03.10, 22:13   #2 (permalink)
 
Registriert seit: 05.10.05
Inliferty Leistung: 8086
Inliferty eine Nachricht über ICQ schicken
Likes: 5
Standard

Hallo!

Da ich gerade bei meinem Projekt sowas ähnliches brauche kann ich dir vielleicht helfen.
Hoffe der Code hilft dir weiter:
HTML-Code:
<html>
<head>
<style type="text/css">
.menu
{
    float: left;
    background-color: #99cccc;
    border: 1px solid black;
    padding: 1% 0 1% 0;
    margin: 1%;
    width: 10%;
}

.menuheading
{
    padding: 0 0 0 10px;
}

.menuitem
{
    text-decoration: none;
    padding: 0 0 0 20px;
    display: block;
}

.menuitem:link
{
    color: #000000;
}

.menuitem:visited
{
    color: #000000;
}

.menuitem2
{
    text-decoration: none;
    padding: 0 0 0 30px;
    display: block;
}

.menuitem2:link
{
    color: #000000;
}

.menuitem2:visited
{
    color: #000000;
}

.submenu
{
    display: none;
}
</style>

<script type="text/javascript">
    function HoverIn(Feld)
    {
        Feld.style.backgroundColor = "#6677ff";
    }

    function HoverOut(Feld)
    {
        Feld.style.backgroundColor = "#99cccc";
    }

    function swap(Menu)
    {
        var ThisMenu = document.getElementById(Menu);

        if(ThisMenu.style.display == "block")
        {
            ThisMenu.style.display = "none";
        }
        else
        {
            ThisMenu.style.display = "block";
        }
    }
</script>
</head>
<body>
    <div class="menu">
        <div class="menuheading">Das Projekt</div>
        <a href=# class="menuitem" onMouseOver="HoverIn(this);" onMouseOut="HoverOut(this);">Menu1</a>
        <a href=# class="menuitem" onMouseOver="HoverIn(this);" onMouseOut="HoverOut(this);">Menu1</a>
        <a href=# class="menuitem" onMouseOver="HoverIn(this);" onMouseOut="HoverOut(this);">Menu1</a>
        <a href=# class="menuitem" onMouseOver="HoverIn(this);" onMouseOut="HoverOut(this);" onClick="swap('submenu1')">Menu2 öffnen</a>
        <div id="submenu1" class="submenu">
            <a href=# class="menuitem2" onMouseOver="HoverIn(this);" onMouseOut="HoverOut(this);">Menu2</a>
            <a href=# class="menuitem2" onMouseOver="HoverIn(this);" onMouseOut="HoverOut(this);">Menu2</a>
            <a href=# class="menuitem2" onMouseOver="HoverIn(this);" onMouseOut="HoverOut(this);">Menu2</a>
        </div>
        <a href=# class="menuitem" onMouseOver="HoverIn(this);" onMouseOut="HoverOut(this);" onClick="swap('submenu2')">Menu3 öffnen</a>
        <div id="submenu2" class="submenu">
            <a href=# class="menuitem2" onMouseOver="HoverIn(this);" onMouseOut="HoverOut(this);">Menu3</a>
            <a href=# class="menuitem2" onMouseOver="HoverIn(this);" onMouseOut="HoverOut(this);">Menu3</a>
            <a href=# class="menuitem2" onMouseOver="HoverIn(this);" onMouseOut="HoverOut(this);">Menu3</a>
        </div>
    </div>
</body>
Es gibt sicherlich Verbesserungen die man durchführen kann, nur habe ich nicht soviel Ahnung von Html / JavaScript / Css.

Eine Frage jedoch hätte ich:
Gibt es eine Möglichkeit sich die 2te Klasse "menuitem2" irgendwie zu ersparen? Der einzige Unterschied besteht im padding.
Ich kann jedoch nicht das padding in der Klasse "submenu" einfügen, da sonst der Hover-Effekt nicht bis zum linken Rand geht.

MfG
Inliferty
Inliferty ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 29.03.10, 09:00   #3 (permalink)
 
Registriert seit: 17.01.06
Oi!Alex Leistung: 8086
Likes: 7
Standard

Also wenn es per Hover ist würde ich eine reine CSS Lösung vorschlagen, mit dem erst Menü aufklappen wenn geklickt wurde währe eine Ähnliche Lösung wie von Inliferty ganz passable, hier müßte allerdings statt
Code:
onMouseOver="HoverIn(this);"
halt das onclick event benutzt werden.

Ansich halte ich aber aus persönlichen Vorlieben JQuery für besser da spart man sich onclick im Link-Tag und die Logik ist wesentlich einfacher (alle ausblenden und this einblenden).
Oi!Alex ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Web, Network & Multimedia Palace » (Web-) Design und webbasierte Sprachen » JavaScript Aufklappbares Menü
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus



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