jQuery hoverIntent not working, but hover does

倖福魔咒の 提交于 2019-12-01 10:30:05

问题


I have the following code:

$(document).ready(function(){
    $(".yearInner").hide();

    $(".year", this).hover(
        function () {
            $(".yearInner", this).slideToggle();
        }
    );

});

It hides the div with class yearInner, and then when the containing div with class year is hovered over, the yearInner div toggles on.

Works fine, put I'd like to use the hoverIntent plug-in instead of hover. Doesn't work at all with hoverIntent. Suggestions?

Div structure for reference:

<div class="year">
    2009  
    <div class="yearInner">
        More Info...
    </div>
</div>
<div class="year">
    2008
    <div class="yearInner">
        More Info...
    </div>
</div>

回答1:


You need to split the hover/leave callbacks to use that plugin, like this:

$(".year", this).hoverIntent(function () { 
   $(".yearInner", this).slideDown();
}, function() {
   $(".yearInner", this).slideUp("fast"); 
});

Not sure why there isn't an override like jQuery has in core that accepts a single function to run in both cases, but this is the fix. Note: .slideToggle() still works just fine, I just added a bit of variety in.



来源:https://stackoverflow.com/questions/2518974/jquery-hoverintent-not-working-but-hover-does

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!