想要增加悬停效果的延迟时间

时间:2010-05-10 06:50:40

标签: javascript jquery css

我有三级别的。

<ul>
  <li>
  <li>
     <ul>
        <li>
        <li>
           <ul>
             <li>  

我想增加悬停时间,即当我将鼠标悬停在第二级时,悬停的延迟时间必须增加,直到我到达其子级,即第三级

2 个答案:

答案 0 :(得分:0)

假设您使用mouseover() / mouseout()hover()获得了javascripe代码: 获取hoverIntent插件并使用element.hoverIntent(overfunc, outfunc)

答案 1 :(得分:0)

当您使用jquery时,请确保在这些情况下使用mouseentermouseleave代替mouseovermouseout。即使在输入子元素时,mouseovermouseout也会触发。如果你有隐藏事物的代码,你不希望它在那个时候在菜单中运行,当你完全离开<li>并且认为一个孩子仍然在里面时你希望它运行...那是mouseentermouseleave做了什么:)

还有一个名为.hover()的快捷方式,它使用mouseentermouseleave这样的事件:

$(selector).hover(mouseenterFunc, mouseleaveFunc);

以下是一个例子:

$("li").hover(function() {
  $(this).children("ul").slideDown();
}, function() {
  $(this).children().slideUp();
});

You can see the above code in a quick demo against your posted tree here