4

次のスニペットを含む jQuery プラグインを使用しています。

$(el).siblings( panelSelector )[(effect || activationEffect)](((effect == "show")?activationEffectSpeed:false),function(){ .. some stuff .. });

私の懸念は、プラグインのコンテキストで実際に何をするかということではなく、それがどのように機能するかということです。

最初にクリックされた要素の兄弟を選択していることを理解しています。次に、2つのうちどちらか、effectまたはactivationEffect値を持っているかを確認していると思います。そこで迷子になり始めます。関数はコールバックのように見えますが、コールバックの内容がわかりません。

4

1 に答える 1

4

コードを理解するために知っておく必要がある主なことは、foo.barfoo['bar']が等しいということです。

それをさらに明確にするために分割しましょう:

var sibs = $(el).siblings(panelSelector);
sibs[(effect || activationEffect)](...);

effect2行目は、またはactivationEffect(最初の真の値が優先される)に格納されているメソッド名を呼び出しますsibs

((effect == "show")?activationEffectSpeed:false)その呼び出しの最初の引数でありfunction(){ ... }、2番目の引数です。

于 2012-06-13T12:50:53.373 に答える