如何在停止后启动脉冲动画

时间:2013-10-26 08:37:35

标签: javascript jquery toggle slidetoggle pulse

我想在pageload上跳动div(向下箭头)。当用户单击向下箭头时,另一个div滑动眼镜和脉冲动画停止。再次单击向下箭头时,另一个div向上滑动,向下箭头再次开始脉动。

这是一个类似的想法,但脉冲停止了:

jQuery(".pulse").effect("pulsate", { times:1000 }, 2000).click(function(){
    jQuery(this).stop(true, true);
});

1 个答案:

答案 0 :(得分:0)

据我了解,.effect()方法无法无限期地继续动画,因此您需要在每次完成时继续调用它,可能是通过从同样提供的函数内部触发动画完整的回调。

至于在显示另一个div时停止它并在之后重新启动它,你可以使用一个标志来决定切换的方式,可能是这样的:

function keepPulsing() {
    $pulse.effect("pulsate", 500, keepPulsing);
}
var pulsing = true,
    $pulse = jQuery(".pulse").click(function(){
        if (pulsing) {
            jQuery(".other").slideDown();
            jQuery(this).stop(true, true).css("opacity",1);
        } else {
            jQuery(".other").slideUp();
            keepPulsing();
        }
        pulsing = !pulsing;        
    });
keepPulsing();

演示:http://jsfiddle.net/87hy2/