Jquery dropdown menü
Üdv.
A problémám annyi, hogy maga a menü lenyíló része nem marad kint (így egyenlőre az alábbi megoldást találtam ki rá).
html kód:css kód:jquery kód:Leginkább egy olyan megoldás érdekelne, ahol a html fájlba nem kéne külön stílust adni a lenyíló menükre stb, hanem a kód felismerje, hogy ha van benne még egy <ul> akkor lenyílik hover-re(vagy onmouseover-re) és ha lemegyünk róla akkor visszagördül a menü.(slideUP('fast'))
Köszönöm előre is a segítséget.
■ A problémám annyi, hogy maga a menü lenyíló része nem marad kint (így egyenlőre az alábbi megoldást találtam ki rá).
html kód:
<div id="menu">
<ul>
<li>
<a href="#">1</a>
<ul>
<li><a href="#">1.1</a></li>
<li><a href="#">1.2</a></li>
<li><a href="#">1.3</a></li>
</ul>
</li>
<li><a href="#">2</a></li>
<li><a href="#">3</a></li>
<li><a href="#">4</a></li>
<li>
<a href="#">5</a>
<ul>
<li><a href="#">5.1</a></li>
</ul>
</li>
<li><a href="#">6</a></li>
<li><a href="#">7</a>
<ul>
<li><a href="#">7.1</a></li>
<li><a href="#">7.2</a></li>
<li><a href="#">7.3</a></li>
</ul>
</li>
</ul>
</div>
#menu {width:850px; height:38px; padding:0 0 0 130px;}
#menu ul {list-style-type:none;}
#menu ul li {height:26px; float:left; position:relative; display:inline; padding:0 0 12px 0;}
#menu ul li:hover {background-color:rgba(0,0,0,0.8);}
#menu ul li a {text-decoration:none; font-family:Verdana; font-size:12px; color:white; font-weight:bold; padding:12px 19px; display:block;}
#menu ul li a:hover {color:#515b85;}
#menu ul li ul {position:absolute; visibility:visible; display:none;}
#menu ul li ul li {float:none; width:190px; height:20px; border-bottom:1px solid gray; text-align:left; background-color:rgba(0,0,0,0.8); padding:0 0 15px 0px; display:list-item;}
#menu ul li ul li:hover {background-color:#585a5f;}
#menu ul li ul li a {width:150px; padding:10px 20px;}
#menu ul li ul li a:hover {color:black;}
$(document).ready(function(){
$('#menu > ul > li > ul').hide();
$('#menu').show();
$('#menu > ul > li > a').mouseover(function(){
$(this).next('ul').slideDown('slow');
}).mouseout(function(){
$(this).next('ul').delay('2000').slideUp('fast');
});
});
Köszönöm előre is a segítséget.
Nem csak <a>-ra, hanem az
OFF
Temérdek dropdown menü létezik. Mivel a jQuery az egyik (ha nem a) legnépszerűbb keretrendszer, ezért abban a kiváltságos helyzetben vagy, hogy bőven van választási lehetőséged. pl. http://css-tricks.com/simple-jquery-dropdowns/
/OFF
Dropdown menühöz alapesetben
A "külön stílust adni a lenyíló menükre" azt jelenti, hogy class-al vagy id-vel megjelölni őket? Nem igazán értem, hogy ezt miért lenne jó elkerülni. Ha mindenképp, akkor ezt leginkább egy onload-ra időzített javascriptből, mégpedig úgy, hogy a js ad egy class-t a menünek...
css vs js
A másik, hogy ha csak egy kicsit is szeretné animálni a menüt, akkor megint csak nem megoldás..