2013-06-24 69 views
1

我想提出一個所謂的爲myplugin插件(它是一個對象),並選擇對象添加到它作爲一個屬性這樣(希望我是正確的了):現在如何將jquery插件選項與常規jquery方法鏈接起來?

$.fn.myPlugin.options = {type: 'slideToggle'} 

,一種方法裏面爲myplugin對象中,我將如何更改:

$(this).next().slideToggle(200); 

因此它從選項中獲取slideToggle,所以它不是硬編碼的?

喜歡的東西:

$(this).next().myPlugin.options.type(200); 
+0

[jQuery插件模板 - 最佳實踐,約定,性能和內存的影響(http://stackoverflow.com/questions/5980194/jquery-plugin-template-best-practice -convention-性能和存儲器-IMPAC) – jantimon

回答

0

你會做到這一點與支架符號,因爲它允許變量:

$(this).next()[self.options.type](200); 
       // ^^^ string that matches jQuery method, like slideToggle etc 
0

爲鏈,你需要在你的插件返回jQuery對象(S)以便它可以傳遞給下一個方法。

像這樣:

return this.each(function(){ 
     // element-specific code here 
    });