2012-07-06 19 views
6

Şu anda bir öğe reddetmek istediğim ancak bir seçenek olarak belirtilen işten atılma şeklini (slideUp, gizle ve diğer jQuery yöntemleri) kullanmak istediğim bir jQuery eklentisi geliştiriyorum.jQuery'nin Ruby .send() yöntemine eşdeğeri

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

ve verilen elemana slideUp arayacak:

Örneğin, birisi belirtmek mümkün olacak.

Bu basitleştirilmiş bir örnektir ve eklenti çok daha fazlasını yapacaktır ancak JavaScript/jQuery'de bunun gibi bir şeyin mümkün olup olmadığını merak ediyorum. Paralel olarak, Ruby's .send() yöntemine benzer bir şey arıyorum.

Teşekkürler!

DÜZENLEME: Ben aradığım ne benzer bir şey yapar this plugin buldunuz ama başka bir eklenti dahil olmadan bunu yapmak için bir yol olsaydı çok sevinirim.

cevap

9

Bir javascript nesnesinin (işlevler dahil) herhangi bir üyesine [] köşeli parantezleri kullanarak erişebilir ve ardından bunu, normal parantez () ile çağırabilirsiniz. İşte bu çok basitleştirilmiş bir örnektir.

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

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

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

Bu mükemmel! Tam olarak aradığım şey. Şerefe! – infinityrobot