2011-07-30 69 views
0

有沒有辦法在設置插件後更改默認值。例如。jQuery插件默認值

var defaults = { 
imageWidth : w, 
imageHeight : h 
}; 

在後面的代碼中,我想再次更改imageWidth值。

+0

你能鏈接到插件源嗎? –

回答

3

也許,取決於插件。如果它看起來像這樣:

(function() { 
    var defaults = { /* ... */ }; 
    // Rest of the plugin goes here. 
})(); 

然後你運氣不好。然而,相當多的插件發佈自己的缺省值:

$.fn.plugin.defaults 

哪裏plugin是插件的名稱。如果默認值可以像這樣公開訪問(或者如果你想破解插件使其公開),那麼你可以隨時更改默認值。當然,新的默認值將不適用於現有的實例。


如果這是你自己的插件,那麼我認爲你的架構有點偏離。 「全屏」與「指定的寬度和高度」配置應該是插件的一個選項,並將默認設置爲合理的(其中「合理的」始終與上下文相關)。然後,你剛纔說的:

$(x).plugin({ fullscreen: true }); // Full screen 
// or 
$(y).plugin({ w: 11, h: 23 });  // Specific dimensions 

您也可以使用$.fn.plugin.defaults招讓儘可能需要改變的明智默認值。

+0

它實際上是我的插件。我想稍後在插件中重置默認值。基本上有一個選項來指定你自己的寬度或全屏。如果它是全屏,我必須得到瀏覽器寬度,但由於某種原因,一旦我設置了寬度,我不能在稍後插件中重置它。 –

+0

@Ian:我已經添加了一些關於這個的想法。 –

+0

我不確定我是否遵守,如果全屏是一個選項,它默認爲false,並且在這種情況下高度和寬度默認爲圖像大小,那麼我需要檢查選項,然後我知道它是否全屏,然後寬度已經設置好了,所以我需要重新設置它們。 –