【问题标题】:DIV dropdown (jQuery)DIV 下拉菜单 (jQuery)
【发布时间】:2010-03-03 02:00:41
【问题描述】:

我希望创建一个基于 DIV 的基本下拉菜单:

<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');
  }
);

... 不工作。

【问题讨论】:

  • 您可能需要在此之后使用分号:$j('.submenu').hide();和 $j,jquery 是这样引用的,还是像 $(this) 上的 $ 那样引用?

标签: jquery html menu drop-down-menu


【解决方案1】:
"#menu ul li a"

没有引用任何东西。菜单是 ul

【讨论】:

  • 抱歉,我的情况不是嵌套问题,我已经验证过了。
  • 我只是在删除 ul 后运行了一个简单的测试,它起作用了。我还将 $j 更改为 $,但我不确定您是否在那里使用某种别名。我还在 hide() 之后添加了一个分号,并将“.submenu”中的引号更改为双引号
【解决方案2】:

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');
    }
  );
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-27
    • 1970-01-01
    相关资源
    最近更新 更多