2010-11-15 61 views
2

我想用一個函數來初始化一個jQuery插件,而不是一個靜態屬性。
它的工作原理是這樣的:使用函數而不是靜態屬性初始化jQuery插件屬性?

$("#sliderPrice").slider({ 
    step: 1, 
    smooth: true, 
    limits: false, 
    scale: ['24h', '48h', '3 days', '1 week'] 
}); 

我想要做的是這樣的:

$("#sliderPrice").slider({ 
    step: 1, 
    smooth: true, 
    limits: false, 
    scale: function(){ return some custom array; } 
}); 

這個現象的原因可能嗎?
我正在使用Egor Khmelev的Slider

回答

2

你可以只self-invoke而不修改原始代碼的函數:

$("#sliderPrice").slider({ 
    step: 1, 
    smooth: true, 
    limits: false, 
    scale: (function(){ 
     return [5,4,3,2,1]; 
    }()) 
}); 

基本上可以做到這一點自調用匿名函數內任何東西。創建,修改或映射一個存在的數組,最後返回它。外括號不是必需的,但它是告訴任何正在查看你的代碼的人的一種便捷方式,那裏正在發生一些事情。

+0

太棒了,那正是我一直在尋找的! – Remy 2010-11-16 08:06:54