<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
<html>
<head>
<style type="text/css">
<!--
.menuCategory {
font-weight: bold;
background-color: #F2F3F5;
color: #036;
padding: 2px;
/*/*/border-top: 1px dashed #99ADC2;/* */
/*/*/margin-top: 1px;/* */
}
#menu_1, #menu_2 {
display: none;
}
-->
</style>
<script language="JavaScript" type="text/javascript">
function toggle(obj) {
with (document.getElementById(obj).style) { display = (display == 'none' || display=='') ? 'block' : 'none'; }
}
</script>
</head>
<body>
<a href="javascript:toggle('menu_1')"><div class="menuCategory">menu item 1</div></a>
<div id='menu_1'><div class='menuTopic'>content to menu item 1</div></div>
<a href="javascript:toggle('menu_2')"><div class="menuCategory">menu item 2</div></a>
<div id='menu_2'><div class='menuTopic'>content to menu item 2</div></div>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" >
<head>
<meta http-equiv="content-type" content="text/html; UTF-8" />
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript" charset="utf-8">
$(document).ready(function() {
$('li.submenu').hide();
$('ul.navigation li').click(function() {
$(this).next('.submenu').toggle()
});
});
</script>
</head>
<body id="index">
<ul class="navigation">
<li><a href="#">menu item 1</a></li>
<li class="submenu">
<ul>
<li>first content to menu item 1</li>
<li>seccond content to menu item 1</li>
<li><a href="#">third content to menu item 1</a></li>
<li class="submenu">
<ul>
<li>first content to menu item 1 submenu 1</li>
<li>seccond content to menu item 1 submenu 1</li>
<li>third content to menu item 1 submenu 1</li>
</ul>
</li>
</ul>
</li>
<li><a href="#">menu item 2</a></li>
<li class="submenu">
<ul>
<li>first content to menu item 2</li>
<li>seccond content to menu item 2</li>
<li>third content to menu item 2</li>
</ul>
</li>
</ul>
</body>
</html>
<li><a href="#">Punkt von mir</a></li>
<li class="submenu">
<ul>
<li>von mir Punkt</li>
</ul>
</li>
Noch nicht viel geschrieben
Weil es so schoen ist, glatt noch ein Beispiel basierend auf der jQuery-libary und ein bisschen auf Semantik achtend:
Durch "$('li.submenu').hide();" versteckt man alle Menuepunkte, die die Klasse submenu tragen.HTML:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" > <head> <meta http-equiv="content-type" content="text/html; UTF-8" /> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js" type="text/javascript" charset="utf-8"></script> <script type="text/javascript" charset="utf-8"> $(document).ready(function() { $('li.submenu').hide(); $('ul.navigation li').click(function() { $(this).next('.submenu').toggle() }); }); </script> </head> <body id="index"> <ul class="navigation"> <li><a href="#">menu item 1</a></li> <li class="submenu"> <ul> <li>first content to menu item 1</li> <li>seccond content to menu item 1</li> <li><a href="#">third content to menu item 1</a></li> <li class="submenu"> <ul> <li>first content to menu item 1 submenu 1</li> <li>seccond content to menu item 1 submenu 1</li> <li>third content to menu item 1 submenu 1</li> </ul> </li> </ul> </li> <li><a href="#">menu item 2</a></li> <li class="submenu"> <ul> <li>first content to menu item 2</li> <li>seccond content to menu item 2</li> <li>third content to menu item 2</li> </ul> </li> </ul> </body> </html>
Mithilfe von "$('ul.navigation li').click(function() { $(this).next('.submenu').toggle() });" legt man auf alle li-Elemente die ein Anchorelement tragen eine (klick)Funktion fest, die auf alle Anker mit der Klasse ".submenu" reagiert. Das toggle stellt den Effekt dar.
Viel mehr gibt es da gar nicht zu erklaeren.
Auf beliebig viele Untermenues anwendbar.
Um einen schoeneren Effekt zu erzielen verwendet man anstatt von .toggle die Klasse .slideToggle.
Will man es noch auf die Spitze treiben, setzt man in die Klammern noch einen Zahlenwert der Millisekunden entspricht .slideToggle(500)
Willkommen auf PSD-Tutorials.de
In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.
Nächster neuer Gratisinhalt
Statistik des Forums