jQuery Animation Stop / Resume Techniques или Шаблоны

Я видел некоторые другие - частично связанные посты - но ничего, что действительно на 100% отвечает на мой вопрос.

В любом случае, я бы хотел сделать pause+fadeIn onHover, pause+fadeOut onHoverOut. Таким образом, анимация не завершается, пока пользователь не будет зависать или зависать. Если пользователь делает несколько быстрых наведений и зависаний, я не хочу, чтобы он ставил в очередь кучу последовательных анимаций. Я подошел близко, используя stop() и clearQueue(), но есть проблемы.

Если я наведите курсор мыши, hoverOut и снова зависните, анимация приостанавливается, но не переходит к следующей анимации. На самом деле, достаточное количество hover и hoverOuts приводит к тому, что анимации перестают происходить полностью на моем компьютере.

Проверьте страницу примера ниже и приложенный скрипт. Может быть, есть общий шаблон или подход к этому конкретному вопросу? Я вижу, что подобные вещи делаются в Интернете довольно часто, иногда с анимацией затухания, иногда с анимацией движения и т. Д.

В этом примере я намеренно использую медленное время анимации, чтобы у вас было время зависать и выходить достаточно времени.

Демо: http://ficreates.com/_SiteDemos/lwv2/

Сценарий: http://ficreates.com/_SiteDemos/lwv2/scripts/carNav.js

В любом случае, заранее спасибо за любую помощь, которую вы можете мне оказать:)

1 ответ

Это то, что вы ищите?

    function carNav() {
        var $navBox = $("#nav_buttons li");

        $navBox.hover(
            function() {
                var $navCar = $(this).find(".nav_car");
                $navCar.fadeIn(2000);
            },
            function() {
                var $navCar = $(this).find(".nav_car");                 
                $navCar.stop().fadeOut(2000);
            }
        );
    }

    $(document).ready(carNav);

ДЕМО http://jsfiddle.net/m2pF5/

или вы можете сделать это полностью с помощью css (для этого потребуется запасной вариант)

CSS DEMO http://jsfiddle.net/eNJ6x/1/

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