使用hoverintent,而不是显示/隐藏...请帮助使用更改代码

时间:2010-12-06 06:58:09

标签: jquery-plugins show-hide hoverintent

我知道这个网站上有很多很棒的帮手,我还在学习jquery,但我喜欢它背后的功能。最近我创建了一个megadrop下来菜单,但我开始收到很多建议来使用hoverintent插件而不是使用show / hide。我迷失了,试图改变我的编码以使其发挥作用...请帮助...感谢总是喜欢和加油!

OH和我认为改用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>

1 个答案:

答案 0 :(得分:0)

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

  1. 您的文档类型后缺少开始正文标记。

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

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

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

    这应该(如果内存服务)适用于每个菜单项。