2010-03-02 173 views
2

我期待建立一个基本的基于DIV下拉菜单:DIV下拉菜单(jQuery的)

<ul id="menu"> 
    <li> 
     <a href="#">item 1</a> 
     <div class="submenu">something here</div> 
    </li> 
    <li> 
     <a href="#">item 2</a> 
     <div class="submenu">something else here</div> 
    </li> 
    <li> 
     <a href="#">item 3</a> 
     <div class="submenu">something more</div> 
    </li> 
</ul> 

的jQuery:

$j('.submenu').hide() 
$j("#menu li a").hover(
    function() { 
    $(this).addClass('active').next('.submenu').addClass('active').slideDown('fast'); 
    }, 
    function() { 
    $(this).addClass('active').next('.submenu').addClass('active').slideUp('fast'); 
    } 
); 

...不工作。

+1

您可能希望在此之后一个分号: 附加$ J( '子')隐藏();和$ j,是jquery引用,或者是$(this)上的$? – 2010-03-02 18:04:08

回答

0

ul#menu之下,它#menu,试试这个:

$j(document).ready(function(){ 
    $j('.submenu').hide(); 
    $j("#menu li a").hover(
    function() { 
     $(this).addClass('active').next('.submenu').addClass('active').slideDown('fast'); 
    }, 
    function() { 
     $(this).removeClass('active').next('.submenu').removeClass('active').slideUp('fast'); 
    } 
); 
}); 
3
"#menu ul li a" 

引用没有。菜单是UL

+0

哦,对不起,嵌套不是我的问题,我已经验证了它。 – 3zzy 2010-03-02 18:03:43

+0

我刚刚运行一个简单的测试后,删除ul和它的工作。我还将$ j更改为$,但我不确定您是否在那里使用某种别名。我还在hide()之后添加了分号,并将引号更改为“.submenu”中的双引号 – dbrien 2010-03-02 18:09:17