希望你能帮助解决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");
我正在调用上述功能一次打开推子,例如,当浏览器请求访问用户的地理位置信息时,并在获得所需的信息/权限后再次呼叫将其关闭。
希望有助于解释我想要做什么?
感谢您的帮助!
杰米