jQuery でカスタム イージングを行う場合、イージング プラグインは必要ありません。使用する 1 つのイージング関数のソース JavaScript コードのみが必要です。
easeOutCubic
jQuery UI ソース コードから取得した関数を次に示します。詳細については、このスレッドを参照してください。
$.easing.easeOutCubic = function (x, t, b, c, d) {
return c*((t=t/d-1)*t*t + 1) + b;
}
これで、関数を編集したり、名前を変更したりできます...
$.easing.myEasing = function (x, t, b, c, d) {
return c*((t=t/d-1)*t*t + 1) + b;
}
(以下のすべての例では、持続時間が 3 秒の 375 ピクセルの青い正方形を使用していますslideToggle()
。3 秒 (3000 ミリ秒) の持続時間を変更して、好みに合わせて効果を示すことができます。違います。)
次に、おそらくこのようなものをjQuery内に配置するだけです...
$(document).ready(function(){
$.easing.myEasing = function (x, t, b, c, d) {
return c*((t=t/d-1)*t*t + 1) + b;
}
$("#button").click(function() {
$('#myDiv').slideToggle(
3000, // <-- Animation Duration (3000 ms)
'myEasing' // <-- the Name of your easing function
);
});
});
これは上記のコードのデモで、easeOutCubic
関数の名前が に変更され、3 秒間キューブにmyEasing
適用されます。slideToggle()
http://jsfiddle.net/kJZxQ/
わかりました、あなたの問題に行きましょう: あなたは、「... イージング効果は非常に速くしたいが、イージング アウト中には大幅に遅くしたい」と言いました。
のグラフは次のとおりですeaseOutCubic
。

2 つのオプションがあります。イージング方程式自体を操作するか、他のイージング関数が同様の曲線を持っているかどうかを確認できますが、イーズ アウト部分までは急勾配 (高速) です。
このデモ ページでは、すべてのイージング カーブを視覚的に示しています...
http://api.jqueryui.com/easions/
ご覧のとおり、いくつかのカーブは (7) と同様の形状ですがeaseOutCubic
、フロント エンドでは急勾配になっています。ここにいくつかの例があります...
(10)- easeOutQuart
easeOutQuart デモ
(13)- easeOutQuint
easeOutQuint デモ
(16)- easeOutExpo
easyOutExpo デモ
最後のもののように思えeaseOutExpo
ますが、利用可能な最も急勾配のストック関数です。上記の方程式の違いを比較することで、方程式を操作しeaseOutExpo
て曲線をさらに急勾配にすることもできます。
このカスタム方程式はとてつもなく速く、その後途方もなく遅くなります...
http://jsfiddle.net/kJZxQ/11/
前回よりさらに過激に…
http://jsfiddle.net/kJZxQ/12/
効果を誇張するために、最後のデモで持続時間を 6 秒に増やしました...
http://jsfiddle.net/kJZxQ/13/
上記のデモの数式を比較することで、効果を高めるためにどの変数を操作しているかを確認し、それに応じて独自の微調整を行うことができます。
私は本当にeaseOutExpo
あなたが説明したものにもっと似ていると思います。本質的に、それはあなたのeaseOutCubic
方程式ですが、前部が速くなり、最後が遅くなるだけです.