2016-04-26 58 views
0

GSAPを使用してアニメーション効果をいくつか作成します。私がしようとしているのは、要素を2倍のサイズから通常のサイズにスケーリングし、消失することを適用することです。blur filterフィルタはblur(15px)から開始し、blur(0)に下がる必要があります。私はこのようにそれを行うことができると思ったGSAPを使用してぼかしフィルタをアニメーション化する

var el = $('img'); 

TweenLite.set(el, { 
    'webkitFilter': 'blur(15px)', 
    scale: 2 
}); 
TweenLite.to(el, 0, { 
    autoAlpha: 1, 
    delay: 1.75, 
    ease: Power2.easeIn 
}); 
TweenLite.to(el, 2, { 
    'webkitFilter': 'blur(0px)', 
    scale: 1, 
    delay: 1.7, 
    ease: Power2.easeIn 
}); 

何が起こるが、その代わり、blur(0)がすぐに適用されることをです。

問題を示す単純なpenです。 私は何が間違っていますか?

答えて

2

ぼかしフィルタを実際にアニメーション化することはできませんが、設定することはできます。基本的には、タイムラインを設定し、タイムラインの進行を使用して、タイムラインの期間にわたってフィルタを設定することができます。 は、タイムラインの期間にわたってぼかしを設定する更新関数です。

onUpdate:function(tl){ 
    var tlp = (tl.progress()*40)>>0; 
    TweenMax.set('#blur img',{'-webkit-filter':'blur(' + tlp + 'px' + ')','filter':'blur(' + tlp + 'px' + ')'}); 

     var heading = $('#blur h3'); 
    heading.text('blur(' + tlp + 'px)'); 
    } 

ここであなただけのGSAPの1.18.4に更新しようとしたことがあり

+0

です。しかし、css3ではキーフレームを使用してアニメーション化することができるので、GSAPではできません。 – Carlo

+0

はい、CSSでフレームを使ってアニメーションできます:.blur { -webkit-animation:blur 3s infinite; } @ - webkit-keyframes blur { 0%、100%{-webkit-filter:blur(0px); } 50%{-webkit-filter:blur(10px);} } } –

+1

@Jackが上記のように投稿しました。新しい 'GSAP 1.8.4'では' onUpdate'を使う必要はなく、CSSフィルタを直接アニメーション化することができます。この例を見てください:http://codepen.io/jonathan/pen/NNoWjw –

関連する問題