0

我知道这个网站上有很多很棒的帮手,我还在学习 jquery,但我喜欢它背后的功能。最近我创建了一个大型下拉菜单,但我开始收到很多建议使用 hoverintent 插件而不是使用显示/隐藏。我迷失了试图改变我的编码以使其正常工作......请帮助......一如既往地感谢伙计们!

哦,我认为更改为 hoverintent 也会阻止溢出的累积,但我不认为我的代码正在努力阻止这种情况的发生?

我的网站...只有关于 DKE 下拉菜单有效...

http://www.nestudiosonline.com/test.php

我的jQuery脚本...

$(document).ready(function() {
    // shows the hidden div in the list
    $('#dave').mouseover(function() {
        $('#aboutdke').show('slow');

    });
    // hides the hide the div again for that list item
    $('#dave').mouseleave(function() {
        $('#aboutdke').hide('slow');

    });
});

这是我的html....

<div id="pagelinks">
 <ul id="menu">
     <li class="mega"><a class="dkeorg" href="#">DKE.ORG</a></li>
        <li class="megamenu" id="dave"><a class="links" href="#">ABOUT DKE</a><div id="aboutdke">
       (about dke div content)
            </div>
  </div></li>
        <li class="megamenu"><a class="links" href="#">ALUMNI</a></li>
        <li class="megamenu"><a class="links" href="#">UNDERGRADUATES</a></li>
        <li class="megamenu"><a class="links" href="#">EVENTS</a></li>
        <li class="megamenu"><a class="links" href="#">MULTIMEDIA</a></li>
        <li class="megamenu"><a class="links" href="#">SHOP DKE</a></li>
      </ul>
 </div>
4

1 回答 1

0

在我得到真正答案之前有两件事:

  1. 您在 doctype 之后缺少开始的正文标签。

  2. 只有小写标记在 XHTML 中有效。

这些事件仅针对#aboutdke 触发,因为这是您硬编码到事件回调函数中的一个元素。尝试更抽象的东西:

$('#menu > li').mouseover(function() {
    $(this).children().is('div').show('slow');
});
$('#menu > li').mouseleave(function() {
    $(this).children().is('div').hide('slow');
});

这应该(如果有记忆的话)适用于每个菜单项。

于 2010-12-06T07:38:26.677 回答