2011-12-23 9 views
4

私はいくつかのトグルを行うプラグインを作成しています。どのイージングメソッドが利用可能かを確認する方法が必要です。 jQuery UI easing methodsが利用可能な場合はサポートしたいと思います。 custom builderのエフェクトパッケージに含まれているようですが、チェックされていない可能性があるため、jQuery UIが利用可能かどうかを確認するだけでは不十分です。私は、イージング方法が利用可能であることを具体的にチェックしたい。jQuery UIイージングメソッドが利用可能かどうかを確認してください

答えて

7

あなたはこのようにそれを確認することができます。

if ($.easing && $.easing.easeInOutQuad) { 
    // Use easing function easeInOutQuad 
} else { 
    // Use some other stuff 
} 

は、UIコア( http://jqueryui.com/ui/jquery.effects.core.js)にライン597から参照してください。

リンクは壊れていますが、それでも機能するはずです。入力が'linear'ある

function verifyEasing(input) { 
    return 'linear' === input || ($.easing && $.easing.hasOwnProperty(input)) ? input : false; 
} 

場合、またはそれがjQueryのUIから利用できるならば、それを返します。

+0

ニースのfind-これは私が右方向に考えるようになりました。私が使用し終わったものについては、私の回答を参照してください。 – ryanve

1

は、ここで私は、私が使用するつもりだと思うものです。それ以外の場合は、falseが返されます。私はそれがfalse.toggle()イージング値として渡した場合、それはデフォルトで'swing'になります。具体的にはswingを確認する必要はありません。このように:

$('.target').toggle(800, verifyEasing(input)); 

あなたも、カスタムイージング機能をチェックしたい場合は、私が推測するには、あなたはブールに$.isFunctionチェックを追加することができます。

'linear' === input || ($.easing && $.easing.hasOwnProperty(input)) || $.isFunction(input) 
+0

falseを返す代わりに 'null'を返す - 遅いコメント:) – andlrc

関連する問題