jQuery.fn.animate() を使用しているときに、パラメーター (アニメーション、コールバック関数、イージング、およびデュレーションの CSS) の一部またはすべてを任意の順序で関数に渡すことができることに気付きました。
関数のソース コードを調べると、次のように始まります。
function (prop, speed, easing, callback) {
var empty = jQuery.isEmptyObject(prop),
optall = jQuery.speed(speed, easing, callback),
.
.
.
そして、渡された情報を実際に処理し始めます。したがって、明らかに css プロパティ オブジェクトがチェーンの最初にある必要があります。しかし、jQuery.speed を見てください。
function (speed, easing, fn) {
var opt = speed && typeof speed === "object" ? jQuery.extend({},
speed) : {
complete: fn || !fn && easing || jQuery.isFunction(speed) && speed,
duration: speed,
easing: fn && easing || easing && !jQuery.isFunction(easing) && easing
};
.
.
.
明らかに、これは魔法の場所です。しかし、括弧と中括弧を削減するという jQuery のアプローチにより、これらすべての条件を分解することが難しくなっています。jQuery.speed 関数を簡略化していただけますか? ありがとう。