jQuery动画停止/恢复技术或模式

时间:2013-01-21 17:10:27

标签: jquery animation hover onhover queuing

我见过其他一些与半职业相关的帖子 - 但没有一个真正100%回答我的问题。

无论如何,我想做的是暂停+ fadeIn onHover,暂停+ fadeOut onHoverOut,这样动画就不会完成,除非用户留下悬停或悬停。如果用户做了一堆快速悬停和悬停,我不希望它排队一堆连续的动画。我已经接近使用stop()和clearQueue()了,但是有问题。

如果我将鼠标悬停,hoverOut并再次快速悬停,则动画会暂停,但不会转换为下一个动画。事实上,足够的悬停和hoverOuts会导致动画完全停止在我的计算机上发生。

查看下面的示例页面和附带的脚本。也许这个特定问题有一个共同的模式或方法?我看到类似的东西在网上做了很多,有时用淡化动画,有时用动画动画等等。

在这个例子中,我故意使用慢动画时间,所以你有时间进出足够的时间。

演示: http://ficreates.com/_SiteDemos/lwv2/

脚本: http://ficreates.com/_SiteDemos/lwv2/scripts/carNav.js

无论如何,提前感谢任何帮助,你可以给我:)我当然需要它!

1 个答案:

答案 0 :(得分: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);

DEMO http://jsfiddle.net/m2pF5/

或者你可以完全用css完成它,(需要后备ie)

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