<div>
「グラデーション」CSS スタイルを一連の要素に自動的に適用したいと考えています。つまりopaque
、透明から完全に不透明までの一連の要素にルールを設定します。
jQuery.animate()
私が必要とするようにCSSスタイルを補間するのに素晴らしい仕事をしているようです. しかし、明らかに、animate()
時間の経過とともに遷移しますが、個々の「フレーム」の数を計算したいだけです。
jQuery コードのどこかに、アニメーション機能のこれらの個々のステップを計算するコードを隠す必要があります。私は何かに遭遇することを期待していましinterpolate(objectWithOldCss, objectWithNewCss, step)
たが、そのようなものを見つけることができないようです.
CSSルールを補間して直接使用するjQueryのコードにアクセスする方法はありますか?
編集:ジェームズ・モンターニュの答えのおかげで、私は次のjQuery.interpolate()
方法になりました:
$.fn.interpolate = function(name, value, blend, easing) {
var elem = this[0];
if (jQuery.isArray(name)) {
$.Tween(elem, {duration: 1}, name, value, easing || "linear").run(blend);
} else {
easing = blend;
blend = value;
$.each(name, function(n, v) {
$.Tween(elem, {duration: 1}, n, v, easing || "linear").run(blend);
});
}
}
ここで実証されています:http://jsfiddle.net/mwvdlee/yfcg5/