清除队列后Jquery动画减速

时间:2013-02-27 13:55:01

标签: javascript jquery animation loops

希望你能帮助解决jQuery中的动画问题。我使用以下代码制作一个动画循环,我可以开始和停止,并可以选择动画元素是脉动还是移动,如箭头所示:

//set the flashing pointer on or off
function flashPointer(state, time, el, style){
    switch(state){
        case "on":
            loopPointer(time, style, el);
        break;
        case "off":
            $(el).stop(true, false).fadeOut(100, function(){ 
                $(el).clearQueue();
            });
        break;
    }   

}

//make a pointer graphic fade in and out
function loopPointer(time, style, el){
    switch(style){
        case "fade":
        $(el).fadeIn(time, function(){
            $(this).fadeOut(time, function(){
                loopPointer(1000, "fade", el);
            }); 
        });
        break;

        case "move":
        $(el).fadeIn(time).animate({top:15}, time, function(){
            $(this).animate({top:0}, function(){
                loopPointer(1000, "move", el);
            }); 
        });
    }
}

任何想法为什么如果我开始和停止动画多次会逐渐变慢?

当然也欢迎任何其他评论和改进点。

谢谢大家;)

杰米

更新

我正在调用这些函数:

flashPointer("on", 1000, "#pointer", "move");
flashPointer("off", 1000, "#pointer", "move");
flashPointer("on", 1000, "#pointer", "fade");
flashPointer("off", 1000, "#pointer", "fade");

我正在调用上述功能一次打开推子,例如,当浏览器请求访问用户的地理位置信息时,并在获得所需的信息/权限后再次呼叫将其关闭。

希望有助于解释我想要做什么?

感谢您的帮助!

杰米

0 个答案:

没有答案