2012-07-06 16 views
6

Actualmente estoy desarrollando un plugin jQuery en el que me gustaría descartar un elemento pero tener la forma en que se descarta (slideUp, hide y otros métodos jQuery) especificados como una opción.Equivalente de jQuery del método .send() de Ruby

Por ejemplo, alguien va a ser capaz de especificar:

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

y se llamará slideUp en el elemento dado.

Este es un ejemplo simplificado y el complemento hará mucho más, pero me preguntaba si algo así era posible en JavaScript/jQuery. Como paralelo, estoy buscando algo muy parecido al método Ruby's .send().

Gracias!

EDIT: he encontrado this plugin el que hace algo similar a lo que estoy buscando, pero me gustaría si había alguna manera de hacer esto sin incluir otro plugin.

Respuesta

9

Puede acceder a cualquier miembro de un objeto javascript (incluidas las funciones) utilizando los corchetes [] Y luego llamar a eso, con el paréntesis normal (). Aquí hay un ejemplo muy simplificado

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

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

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

¡Esto es perfecto! Exactamente lo que estaba buscando. ¡Aclamaciones! – infinityrobot

Cuestiones relacionadas