2012-04-13 195 views
2

このコードとアニメーションは、jQuery 1.4.4以降では完全に機能しますが、それ以降のバージョンでは機能しません。誰もがこの問題について啓発し、最新のjQueryで動作するバージョンを手助けすることができますか?私は下のフィドルを提供しました。"煙の煙"効果JavaScriptのスプライトアニメーション

http://jsfiddle.net/Y7Ek4/10/

パッと消える効果は基本的にCSSスプライトアニメーションを作成するために、背景の位置を調整するに依存しているが、それは新しいjQueryの上borked。

+0

これにはプラグインが必要です。 http://bugs.jquery.com/ticket/7448 – j08691

+0

の可能な複製を参照してください。[なぜjquery 1.4.4を過ぎてbackgroundPositionをアニメーション化できないのですか?](http://stackoverflow.com/questions/8663596/why-cant- i-animate-backgroundposition-past-jquery-1-4-4) – j08691

答えて

4

jQueryのアニメーションはスプライトアニメーションに適していません。 setTimeoutを使って自分自身をロールバックしなければならなかった。この効果は、OS Xドックからアイテムを取り除くために使用されたものに触発されています。

スプライト:

poof effect sprite

関連のJSコード:HTMLやCSSなどの

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); 
} 

全作業例: http://jsfiddle.net/Y7Ek4/22/

0

あなたはこの(私の)ライブラリを使用することができますあまりにも:Audero Smoke Effect。これはjQueryの最新バージョンで動作します。

関連する問題