2010-11-18 2 views
7

jqueryの.animate()メソッドを使用して、(明示的に設定された)初期値から最終値にプロパティをアニメーション化することは可能ですか?現在の値から別の値へ?JQueryの.animate()を使用してある値から開始し、別の値で終了

+1

私はあなたの質問をよく理解していません。 '.animate()'には、現在値*と初期値*の違いは何ですか?いくつかのコード例とともに、あなたが何をしようとしているかを説明するために、もう少し詳細が良いでしょう。 :) – Alex

+1

'.animate()'を使う前に初期値を設定できませんか? – jwueller

+0

@ Alex- divをページから離れた場所にアニメーション化したい場合、私は外来値で始めるでしょう。 – Yarin

答えて

7

私が知る限り、それは最終的な価値に現在の値でなければなりません。しかし、高さを20から100ピクセルにアニメーション化したいとしましょう。ちょうど:

$('#elem').css('height', '20px').animate({ height: 100 }, 1000); 
+0

私はそれが好きです - ありがとう – Yarin

0

animate()を呼び出す前にプロパティの値を設定するだけです。

2

.animate()は、アニメーション化しているプロパティの現在設定されている値から、メソッドで指定した最終値に常に移動します。不透明度0.75から0.25に変更したい場合は、現在の値が0.5だった場合.css('opacity',0.75).animate({opacity: 0.25})

3

開始値を擬似セレクタとして設定するだけで簡単に指定できます。

のは、あなたがあなたのコードがなります。この場合、-100〜100のCSSプロパティではありませんいくつかの値をアニメーション化する必要があることを考えてみましょう:

$({xyz: -100}).animate({xyz:100}, {duration:5000, complete:function(){ 
    console.log("done"); 
}, step: function(now) { 
    //here you want to place your processing code for every frame of animation. 
    console.log("Anim now: "+now); 
}}); 

あなたはJSFiddle hereで作業例を見ることができます。

関連する問題