0

初学者。我不确定标题问题的措辞是否正确,但我会尝试解释我在寻找什么。我想创建一个非常基本的顶部栏导航,并为每个选择下拉/飞出使用 jquery ui 菜单。所以我认为这将是非常可能且相对简单的,但我想知道,如果它基于百分比,你将如何将每个菜单实例定位在顶部栏下?我对此很陌生,所以我不确定它是 jquery 还是 css 问题?我非常感谢任何和所有的帮助!

4

2 回答 2

3

这就是我将如何去做。希望这会有所帮助,如果您需要其他任何东西,请告诉我。

HTML:

<div>
    <ul id="menu">
        <li>
            <a href="#">Nav Item 1</a>
            <ul class="subnav">
                <li><a href="#">Sub Item 1</a></li>
                <li><a href="#">Sub Item 2</a></li>
                <li><a href="#">Sub Item 3</a></li>
            </ul>
        </li>

        <li>
        <a href="#">Nav Item 2</a>
        <ul class="subnav">
            <li><a href="#">Sub Item 1</a></li>
            <li><a href="#">Sub Item 2</a></li>
            <li><a href="#">Sub Item 3</a></li>
        </ul>
        </li>
    <li>
        <a href="#">Nav Item 3</a>
        <ul class="subnav">
            <li><a href="#">Sub Item 1</a></li>
            <li><a href="#">Sub Item 2</a></li>
            <li><a href="#">Sub Item 3</a></li>
        </ul>
        </li>
    </ul>
</div>

JAVASCRIPT:

$(document).ready(function(){
    $(".subnav").menu().hide();

    $("#menu>li").each(function(index, el){

        $(el).hover(function(){
            $(this).closest('li')
                .find('ul')
                .show()
                .animate({"opacity":1}, 250);
        },function(){
             $(this).closest('li')
                 .find('ul')
                 .animate({"opacity":0}, 250, function() {
                 $(this).hide();   
                 });
        });
    });
});

​ CSS:

ul{ 
list-style-type:none;
margin:0;
padding-right:1em;
overflow:hidden;
}

#menu>li{ 
    float:left; 
    background-color:whiteSmoke;
    width:30%;
}

.ui-menu{
    width:100%;
} /*100% since its nav item will be relative*/

#menu>li>ul{opacity:0}
​

演示:http: //jsfiddle.net/EQPVf/15/

于 2012-11-12T05:21:30.410 回答
2

这是我为 jQuery UI 版本 1.9.1 做的方式。从上到下。

包括:

<script src="jquery/jquery-latest-version.js"></script>
<script src="jquery/ui/jquery-ui.js"></script>
<script src="jquery/external/jquery.bgiframe-2.1.2.js"></script>
<script src="jquery/ui/jquery.ui.core.js"></script>
<script src="jquery/ui/jquery.ui.widget.js"></script>
<script src="jquery/ui/jquery.ui.menu.js"></script>

CSS:

#menu li { display:inline-block; width: auto; }
#menu li.sub { display:block; width: auto;}

jQuery:

// Menu
$(function() {
  $( "#menu" ).menu({
    select: function(event, ui) {
      var num = ui.item.index();
      switch(num) {
    case 0:
      Option1(); // dummy function to handle selection
      break;
    case 1:
      Option1Sub(); // make your own function to handle
          break;
        case 2:
          Option2(); // dummy function to handle selection
          break;
    case 3:
      BlaBla(); // make your own function to handle
      break;
      }
   }
});

HTML:

<ul id="menu" class="ui-menu">
  <li><a href="#" title="Option 1..."><b>Option 1</b></a></li>
    <li class="sub"><a href="#" title="Option 1 sub..."><b>Option 1 sub</b></a></li>
  <li><a href="#" title="Option 2..."><b>Option 2</b></a></li>
  <li><a href="#" title="Bla Bla..."><b>Bla Bla</b></a></li>
</ul>

itsSOezy .com .. jQuery 让它变得简单。

于 2012-11-30T16:32:47.850 回答