jquery - Only first item display when applying CSS on navigation -
i have tried following code navigation in retrieving category names , subcategories mysql database table. problem when don't apply css it. shows subcategories under relevent category. when applied css code shows first relevant subcategory name on hover category name. here code , css. stuck , can't understand doing wrong. suggestions please.
$(function() { if ($.browser.msie && $.browser.version.substr(0,1)<7) { $('li').has('ul').mouseover(function(){ $(this).children('ul').show(); }).mouseout(function(){ $(this).children('ul').hide(); }) } });
body { width: 960px; margin: 40px auto; } /* main menu */ #menu { width: 100%; margin: 0; padding: 10px 0 0 0; list-style: none; background: #111; background: -moz-linear-gradient(#444, #111); background: -webkit-gradient(linear,left bottom,left top,color-stop(0, #111),color-stop(1, #444)); background: -webkit-linear-gradient(#444, #111); background: -o-linear-gradient(#444, #111); background: -ms-linear-gradient(#444, #111); background: linear-gradient(#444, #111); -moz-border-radius: 50px; border-radius: 50px; -moz-box-shadow: 0 2px 1px #9c9c9c; -webkit-box-shadow: 0 2px 1px #9c9c9c; box-shadow: 0 2px 1px #9c9c9c; } #menu li { float: left; padding: 0 0 10px 0; position: relative; line-height: 0; } #menu { float: left; height: 25px; padding: 0 25px; color: #999; text-transform: uppercase; font: bold 12px/25px arial, helvetica; text-decoration: none; text-shadow: 0 1px 0 #000; } #menu li:hover > { color: #fafafa; } *html #menu li a:hover /* ie6 */ { color: #fafafa; } #menu li:hover > ul { display: block; } /* sub-menu */ #menu ul { list-style: none; margin: 0; padding: 0; display: none; position: absolute; top: 35px; left: 0; z-index: 99999; background: #444; background: -moz-linear-gradient(#444, #111); background: -webkit-gradient(linear,left bottom,left top,color-stop(0, #111),color-stop(1, #444)); background: -webkit-linear-gradient(#444, #111); background: -o-linear-gradient(#444, #111); background: -ms-linear-gradient(#444, #111); background: linear-gradient(#444, #111); -moz-box-shadow: 0 0 2px rgba(255,255,255,.5); -webkit-box-shadow: 0 0 2px rgba(255,255,255,.5); box-shadow: 0 0 2px rgba(255,255,255,.5); -moz-border-radius: 5px; border-radius: 5px; } #menu ul ul { top: 0; left: 150px; } #menu ul li { float: none; margin: 0; padding: 0; display: block; -moz-box-shadow: 0 1px 0 #111111, 0 2px 0 #777777; -webkit-box-shadow: 0 1px 0 #111111, 0 2px 0 #777777; box-shadow: 0 1px 0 #111111, 0 2px 0 #777777; } #menu ul li:last-child { -moz-box-shadow: none; -webkit-box-shadow: none; box-shadow: none; } #menu ul { padding: 10px; height: 10px; width: 130px; height: auto; line-height: 1; display: block; white-space: nowrap; float: none; text-transform: none; } *html #menu ul /* ie6 */ { height: 10px; } *:first-child+html #menu ul /* ie7 */ { height: 10px; } #menu ul a:hover { background: #0186ba; background: -moz-linear-gradient(#04acec, #0186ba); background: -webkit-gradient(linear, left top, left bottom, from(#04acec), to(#0186ba)); background: -webkit-linear-gradient(#04acec, #0186ba); background: -o-linear-gradient(#04acec, #0186ba); background: -ms-linear-gradient(#04acec, #0186ba); background: linear-gradient(#04acec, #0186ba); } #menu ul li:first-child > { -moz-border-radius: 5px 5px 0 0; border-radius: 5px 5px 0 0; } #menu ul li:first-child > a:after { content: ''; position: absolute; left: 30px; top: -8px; width: 0; height: 0; border-left: 5px solid transparent; border-right: 5px solid transparent; border-bottom: 8px solid #444; } #menu ul ul li:first-child a:after { left: -8px; top: 12px; width: 0; height: 0; border-left: 0; border-bottom: 5px solid transparent; border-top: 5px solid transparent; border-right: 8px solid #444; } #menu ul li:first-child a:hover:after { border-bottom-color: #04acec; } #menu ul ul li:first-child a:hover:after { border-right-color: #04acec; border-bottom-color: transparent; } #menu ul li:last-child > { -moz-border-radius: 0 0 5px 5px; border-radius: 0 0 5px 5px; } /* clear floated elements */ #menu:after { visibility: hidden; display: block; font-size: 0; content: " "; clear: both; height: 0; } * html #menu { zoom: 1; } /* ie6 */ *:first-child+html #menu { zoom: 1; } /* ie7 */
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <ul id="menu"> <li> <a href="#">categories</a> <ul> <li> <a href="#">css</a> <ul> <li><a href="#">item 11</a></li> <li><a href="#">item 12</a></li> <li><a href="#">item 13</a></li> <li><a href="#">item 14</a></li> </ul> </li> <li> <a href="#">graphic design</a> <ul> <li><a href="#">item 21</a></li> <li><a href="#">item 22</a></li> <li><a href="#">item 23</a></li> <li><a href="#">item 24</a></li> </ul> </li> <li> <a href="#">development tools</a> <ul> <li><a href="#">item 31</a></li> <li><a href="#">item 32</a></li> <li><a href="#">item 33</a></li> <li><a href="#">item 34</a></li> </ul> </li> <li> <a href="#">web design</a> <ul> <li><a href="#">item 41</a></li> <li><a href="#">item 42</a></li> <li><a href="#">item 43</a></li> <li><a href="#">item 44</a></li> </ul> </li> </ul> </li> </ul>
looking @ first version of code posted, think issue might here:
<ul> <a href="#"><?=$ro['s_cat_name']?></a> </ul>
seems it's missing <li>
. also, second-level <li>
closing inside subcategories loop; i'm guessing should outside.
Comments
Post a Comment