views:

304

answers:

2

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>
+2  A: 

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.

Nick Craver
Now it shows all the content instead of hiding .yearInner on page load, and hover/hoverIntent does nothing at all.
kylex
@kylex - You still need the `$(".yearInner").hide();` bit before this...as for it not working, what version of jQuery are you on, and are you sure the plugin is being included correctly?
Nick Craver
`$(".yearInner").hide()` is still there, and I'm using jquery 1.4
kylex
@kylex - My fault, I left a closing brace out, the last line should have been `});` not just `);`, updated the answer with this corrected. You can see a working demo here: http://jsfiddle.net/cgqFB/
Nick Craver
yea, i saw that originally, and it all makes sense, and your demo works, but it's not working on my site. can't figure it out...
kylex
@kylex - Have a link I can take a look at?
Nick Craver
A: 

This helped me a lot when I was working on something similar: http://cherne.net/brian/resources/jquery.hoverIntent.html

s15199d