jQuery - задержка с функциями остановки - PullRequest
1 голос
/ 01 декабря 2011

Рассмотрим следующую схему навигации


первичная навигация


вторичная навигация


суб навигация (отображается только при переключении основного или дополнительногоnav


Мне нужно, чтобы в вызове fadeOut была задержка, достаточная для того, чтобы пользователь мог перевести свою мышь с основного nav на subnav, и, как только над subnav, мне нужен hover fadeOutОтменено. Повторение идеи при наведении курсора на элемент вторичной навигации. (Я знаю, как добавить задержку, но не знаю, как отменить наведение)

TIA

http://jsfiddle.net/Wm6Gp/

<div class="primary">
    <ul class="primary common">
        <li class="primary category" rel="politics">
            <a href="#">POLITICS</a>
        </li>
    </ul>
</div>
<div class="secondary">
    <ul class="secondary common">
        <li class="secondary category" rel="news">
            <a href="#">NEWS</a>
        </li>
    </ul>
</div>

<div style="display: block; height: 20px; width: 100px; overflow: hidden;">
    <div id="politics" class="sub" style="display: none;">
        <ul class="sub common">
            <li class="sub">
                <a href="#">POLITICS SUBNAV</a>
            </li>
        </ul>
    </div>
    <div id="news" class="sub" style="display: none;">
        <ul class="sub common">
            <li class="sub">
                <a href="#">NEWS SUBNAV</a>
            </li>
        </ul>
    </div>
</div>

$('.category').hover(
    function() {
        var subnav = $(this).attr('rel');
        $('#' + subnav).fadeIn('slow');
    }, function() {
        var subnav = $(this).attr('rel');
    $('#' + subnav).fadeOut('slow');
});

1 Ответ

0 голосов
/ 01 декабря 2011

Попробуйте плагин jQuery Hover Intent - http://cherne.net/brian/resources/jquery.hoverIntent.html

...