Mam takie rozwijane menu:
<!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="pl" lang="pl"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script> <script type="text/javascript"> $(document).ready(
function()
{
$("#show1").click(
function(){
$("#menu1").toggle("normal");
}
).toggle(function(){$(this).css('padding-bottom','3px');},function(){$(this).css('padding-bottom','0px');});
$("#show2").click(
function(){
$("#menu2").toggle("normal");
}
).toggle(function(){$(this).css('padding-bottom','3px');},function(){$(this).css('padding-bottom','0px');});
$("#show3").click(
function(){
$("#menu3").toggle("normal");
}
).toggle(function(){$(this).css('padding-bottom','3px');},function(){$(this).css('padding-bottom','0px');});
$("#show-all").click(
function(){
$(".nav ul").toggle("normal");
}
).toggle(function(){$(this).attr('value','Zwiń wszystko');},function(){$(this).attr('value','Rozwiń wszystko');});
});
<h2>Menu
<input type="submit" id="show-all" value="Rozwiń wszystko" style="position:relative; top: -4px;" /></h2> <h3><a href="#" id="show1">Tytu
ł</a></h3> <ul style="display:none" id="menu1"> <li><a href="#">Link #1
</a></li> <li><a href="#">Link #2
</a></li> <li><a href="#">Link #3
</a></li> <li><a href="#">Link #4
</a></li> <li><a href="#">Link #5
</a></li>
<h3><a href="#" id="show2">Tytu
ł</a></h3> <ul style="display:none" id="menu2"> <li><a href="#">Link #1
</a></li> <li><a href="#">Link #2
</a></li> <li><a href="#">Link #3
</a></li> <li><a href="#">Link #4
</a></li> <li><a href="#">Link #5
</a></li>
<h3><a href="#" id="show3">Tytu
ł</a></h3> <ul style="display:none" id="menu3"> <li><a href="#">Link #1
</a></li> <li><a href="#">Link #2
</a></li> <li><a href="#">Link #3
</a></li> <li><a href="#">Link #4
</a></li> <li><a href="#">Link #5
</a></li>
Problem w tym, że kiedy kliknę na 'Rozwiń wszystko', a a któreś menu jest już otwarte, to ono się zamyka, i na odwrót.
Oczywiscie mógłbym w CSS napisać że to ma display:none, a potem tylko css('display','block') ale to nie ma takiego efektu.
Ten post edytował sirostr 26.07.2008, 14:46:28