3

かなり非定型のjqueryイージング関数が必要です。これは基本的に、従来のeaseInOutイージングの反対です。これは、プロセスを高速のイントロから低速の中間部分、高速のアウトロ(speedInOutと呼ぶ場合があります)に移行するためです。

残念ながら、私の数学は少し錆びており、開始方法に関して正しい方向に私を向けてくれる人が必要です。

双曲線正弦曲線(sinh)は、私が探しているものの正しい方向にいくらか進みますが、両方の軸で0から1の間に制限する必要があります。

これが私が使っているjqueryイージング関数のスケルトンです

$.easing.speedInOut = function(t, millisecondsSince, startValue, endValue, totalDuration) {
     if(t = 0) return startValue;
     if(t = 1) return startValue + endValue;
     // custom function should go here
};

どんな助けでも大歓迎です!

4

1 に答える 1

4

私は前に述べた素晴らしい同僚の助けを借りて物事を理解しました(実際にすべての重労働をしたのは彼でした)。

私が最終的に使用した数学の公式は、(sinh((x --0.5)* 5)+ sinh(-(x --0.5))+(sinh(2.5)+ sin(-2.5)))/(sinh(2.5 )* 1.82)

また、JavaScriptでsinhを実装する必要がありました。これは、数学オブジェクトの一部ではないためですが、これはかなり簡単です。

function sinh(aValue) {
var myTerm1 = Math.pow(Math.E, aValue);
var myTerm2 = Math.pow(Math.E, -aValue);
return (myTerm1-myTerm2)/2;
}

イージング関数自体は次のようになります。

$.easing.speedInOut = function(x, t, b, c, d) {
    return (sinh((x - 0.5) * 5) + sinh(-(x - 0.5)) + (sinh(2.5) + Math.sin(-2.5))) /    (sinh(2.5) * 1.82);
};
于 2011-08-31T09:03:15.857 に答える