2012-07-06 74 views
6

我目前正在開發一個jQuery插件,我想要關閉一個元素,但要解除指定爲選項的方式(slideUp,hide和其他jQuery方法)。jQuery相當於Ruby的.send()方法

例如,有人將能夠指定:

$('element').plugin({style: "slideUp", speed: 300}); 

,它會調用效果基本show給定的元素。

這是一個簡化的例子,插件會做更多的事情,但我只是想知道在JavaScript/jQuery中是否可以這樣做。作爲一種平行,我正在尋找類似於Ruby的.send()方法的東西。

謝謝!

編輯: 我沒有找到this plugin其中有類似的功能,以我所尋找的,但如果有一些方法來做到這一點,而不包括另一個插件我喜歡。

回答

9

您可以使用方括號[]訪問JavaScript對象的任何成員(包括函數)然後使用正常的括號()調用該對象。這裏有一個非常簡化的例子

​var test = { 
    slide: function() {alert('slide');}​, 
    fade: function() {alert('fade');} 
} 

var style = "slide"; // or 'fade' 

test[style]();​​​​​​ 
+0

這是完美的!正是我在找什麼。乾杯! – infinityrobot 2012-07-06 10:46:15