lin*_*eak 2 javascript animation settimeout jquery-animate
这段代码和动画在jQuery 1.4.4及更低版本上运行得很好,但在以后的版本中却没有.任何人都可以对这个问题有所了解,并帮助一个适用于最新jQuery的版本.我在下面提供了一个小提琴.
poof效果基本上依赖于调整背景位置来创建一个css sprite动画,但是它对新的jQuery很不满意.
jQuery的动画不再适用于精灵动画.我不得不自己动手使用setTimeout.效果的灵感来自于用于从OS X底座中移除物品的效果.
精灵:
相关的JS代码:
function animatePoof() {
var bgTop = 0,
frame = 0,
frames = 6,
frameSize = 32,
frameRate = 80,
puff = $('#puff');
var animate = function(){
if(frame < frames){
puff.css({
backgroundPosition: "0 "+bgTop+"px"
});
bgTop = bgTop - frameSize;
frame++;
setTimeout(animate, frameRate);
}
};
animate();
setTimeout("$('#puff').hide()", frames * frameRate);
}
Run Code Online (Sandbox Code Playgroud)
完整的工作示例,包括HTML和CSS:http: //jsfiddle.net/Y7Ek4/22/