2012-07-06 58 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