jQuery hoverIntent не работает, но hover делает

У меня есть следующий код:

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

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

});

Он скрывает div с классом yearInner, а затем, когда содержащийся div с классом year перемещается, включается div yearInner.

Работает нормально, я бы хотел использовать плагин hoverIntent вместо hover. Не работает вообще с hoverIntent. Предложения?

Структура Div для справки:

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

1 ответ

Решение

Вам нужно разделить обратные вызовы hover/left, чтобы использовать этот плагин, например:

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

Не уверен, почему в ядре нет переопределения, подобного jQuery, которое принимает одну функцию для запуска в обоих случаях, но это исправление. Замечания: .slideToggle() все еще работает просто отлично, я просто добавил немного разнообразия.

Другие вопросы по тегам