Zum Inhalt springen

"aufklappbares" Dynamisches Menü


Swiffe

Empfohlene Beiträge

Hey Leute,

wie das bei angehenden Entwicklern so ist, gefällt einem die eigene Arbeit nach 10 Minuten nicht mehr. Nun hoffe ich das ihr mir helfen könnt. Ich möchte ein "aufklappbares" (dynamisches) Menü mittels CSS und eventuel PHP erstellen. Javascript behersche ich nämlich nicht. So sieht es aktuell aus:

menu.jpg

Das Ziel ist das in dem Rahmen die Oberpunkte mit der Grafik zu sehen sind und bei einem MouseOver soll sich die entsprechenden Unterpunkte nach unten hin ausklappen. Kennt jemand da ein Tutorial bzw. eine Quelle von der ich sowas ableiten kann?

greetz Swiffe

Link zu diesem Kommentar
Auf anderen Seiten teilen

Rein mit CSS und HTML ist das nicht möglich, denn das sind statische Komponenten. Also man kann HTML und CSS Eigenschaften via JavaScript manipulieren, d.h. in Deinem Fall musst Du eben bei einem MouseOver ein JavaScript starten, dass den Layer (div oder span) sichtbar schaltet und langsam vergrößert, ebenso das ganze wenn Du den Fokus verlierst rückgängig macht.

Alternativ kannst Du auch Flash für so etwas einsetzen

Als JavaScript-Einstieg könnte das was sein:


<script type=text/javascript>

function punkt1() {

 if(document.getElementByID('test1').style.visibility=='hidden') {

  document.getElementByID('test1').style.visibility='visible';

  document.getElementByID('test2').style.visibility='hidden';

  document.getElementByID('test3').style.visibility='hidden';

 }

}

function punkt2() {

 if(document.getElementByID('test2').style.visibility=='hidden') {

  document.getElementByID('test1').style.visibility='hidden';

  document.getElementByID('test2').style.visibility='visible';

  document.getElementByID('test3').style.visibility='hidden';

 }

}

function punkt3() {

 if(document.getElementByID('test3').style.visibility=='hidden') {

  document.getElementByID('test1').style.visibility='hidden';

  document.getElementByID('test2').style.visibility='hidden';

  document.getElementByID('test3').style.visibility='visible';

 }

}

</script>

<a href=# onclick=punkt1()>punkt 1</a>

<div id="test1">

Menu 1

</div>

<a href=# onclick=punkt2()>punkt 2</a>

<div id="test2">

Menu 2

</div>

<a href=# onclick=punkt3()>punkt 3</a> 

<div id="test3">

Menu 3

</div>

Bearbeitet von flashpixx
Link zu diesem Kommentar
Auf anderen Seiten teilen

danke an alle erstmal für eure posts. Die Animationsidee habe ich auf später verworfen da es mit

#navi li ul { display:none; }

#navi li:hover ul { display:block; } 

auch recht schön aussieht.

Kann ich ein hover auch auf eine Überschrift anwenden?

Laut Css4you geht das:

Normaler Weise wird :hover für Hyperlinks eingesetzt, laut der W3C-Spezifikation ist diese Eigenschaft aber für alle Elemente zugelassen und so kannst du Mouseover-Effekte z.B. auch für Formularfelder, Tabellenzellen und <div>-Container definieren.

bei mir funktioniert das allerdings nicht.

Bearbeitet von Swiffe
text hinzugefügt
Link zu diesem Kommentar
Auf anderen Seiten teilen

Kommt auf Code und Browser an. IE 6 beispielsweise hat hover nur bei a-Tags zugelassen. Wie es danach ausschaut, weiß ich nicht. Ohne den Code zu kennen ist aber auch sonst alles recht spekulativ. Rein auf CSS-Basis ist so ein dropdown allerdings etwas unschön und nicht so einfach, wenn es in allen Browsern funktionieren soll.

Link zu diesem Kommentar
Auf anderen Seiten teilen

in der schule haben wir das drop down menü gemacht

(hier als beispiel:)

im html eine box (div id="navigation")

<body>

<div id="navigation">

<ul id="ebene01">

<li id="navi01" class="aktuell"><a href="Pferde.html">Pferde</a>

<ul class="ebene02">

<li id="navi0101"><a href="Hufe.html">Hufe</a></li>

<li id="navi0102"><a href="Ponys.html">Ponys</a></li>

<li id="navi0103"><a href="Fell.html">Fell</a></li>

</ul>

</li>

<li id="navi02"><a href="Hunde.html">Hunde</a>

<ul class="ebene02">

<li id="navi0201"><a href="Pfoten.html">Pfoten</a></li>

<li id="navi0202"><a href="Welpen.html">Welpen</a></li>

<li id="navi0203"><a href="Fell.html">Fell</a></li>

</ul>

</li>

<li id="navi03"><a href="Katzen.html">Katzen</a>

<ul class="ebene02">

<li id="navi0301"><a href="Tatzen.html">Tatzen</a></li>

<li id="navi0302"><a href="Babykatzen.html">Babykatzen</a></li>

<li id="navi0303"><a href="Schnurbarthaare.html">Schnurbarthaare</a></li>

</ul>

</li>

</ul>

</div> <!-- navigation schließt --></div>

</body>

im css dann (externes stylesheet! also im html head:<link rel="stylesheet" type="text/css" href="Navi.css" media="screen" />)

* {margin:0px;

padding:0px;}

html {height:101%;}

body {font-size:100.01em;}

#navigation {font-family:Verdana, Arial, Helvetica, sans-serif;

overflow:hidden;

background-color:#FF9;

font-size:12pt;

margin-top:9px;}

#navigation li {float:left;

list-style-type:none;

width:auto;

padding:5px;}

#navigation li a {text-decoration:none;

color:#000;

display:block;}

#navigation li a:hover,

#navigation li a:focus,

#navigation li.aktuell a {background-color:ff9;

color:#000;}

#navigation li li {clear:both;}

#navigation li ul {display:inline;

position:absolute;

top:-9999px;

left:-9999x;

width:0px;

height:0px;

background-color:transparent;}

#navigation li:hover ul {position:absolute;

top:auto;

left:auto;

width:auto;

height:auto;

color:#fff;

background-color:ff9;

display:block;}

#navigation li:hover ul a {color:#000;}

#navigation li ul li a:hover {color:#F99;}

hoffe es funktioniert bei dir =)

bei mir ist leider am linken rand nen abstand aber den bekomm ich noch weg =)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...