4

我正在使用一个 jQuery 插件,其中包含以下代码段:

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

我真正关心的不是它在插件上下文中的作用,而是它如何工作。

我知道我们首先选择单击元素的兄弟姐妹,然后我相信我们正在检查两者中的哪一个,effect或者activationEffect有一个值,我开始迷失在那里。看起来该函数是一个回调,但如果是我不明白包含回调的内容。

4

1 回答 1

4

要理解代码,您需要知道的主要内容是foo.barfoo['bar']是平等的。

让我们拆分它以使其更清晰:

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

第二行调用存储在effector中的任何方法名称activationEffect(第一个 true 值获胜)sibs

((effect == "show")?activationEffectSpeed:false)是该调用的第一个参数和function(){ ... }第二个参数。

于 2012-06-13T12:50:53.373 回答