2013-05-15 43 views
1

問題


我使用jQuery UI佈局插件(layout.jquery-dev.net/index.cfm)在我的Web應用程序。如何在jQuery UI佈局插件中動態切換`resizable`布爾值?

僅使用2個面板(centereast),我需要動態禁用佈局的可調整大小的選項。

function InitializeLayout(sElement) { 
    var oOptions = { 
     closable:    false, 
     resizable:    true, 
     slidable:    false, 
     east__livePaneResizing: true, 
     east__maxSize:   672, 
     east__minSize:   250, 
     east__onresize_end:  function() { 
      // GetOverlaySizes(); 
      // SetOverlaySizes(); 
      // SetPaperSizes(); 
     }, 
     east__size:    250 
    }; 
    oLayout = $(sElement).layout(oOptions); 
    oLayout.options.east.resizable = false; 
    console.log(oLayout.options); 
} 

這不起作用,即使resizable選項設置爲false在控制檯上。

問題


  1. 如何動態禁用/啓用resizable選項?
  2. 這與我的問題無關,但爲什麼啓用實時窗格調整大小使Mozilla Firefox(20.0)如此緩慢?

感謝,

解決方案


oLayout.disableResizable("east"); 
oLayout.enableResizable("east"); 

感謝@dwaddell。

+0

佈局插件可以是相當混亂的,你有一個的jsfiddle?我還通過將* .state.east。*和* .options.east。*一起設置爲動態更改了其他設置。 – dwaddell

+0

[jsfiddle.net/bEeZY/2/](http://jsfiddle.net/bEeZY/2/) –

回答

3

以下是你需要做什麼,在init之後:

oLayout.disableResizable('east'); 

希望有所幫助。

這裏是一個更新的jsfiddle:http://jsfiddle.net/dwaddell/YE2CQ/

+0

感謝它的運作。你對這個插件看起來很有能力,我猜你基本上是閱讀源代碼來找到這個方法的。你有沒有機會注意到一種方法可以將佈局重新設置回我的'oOptions'設置(或者至少是爲我的面板手動設置尺寸的方法)? –

+0

你在哪找到disableResizable方法?通過他們的所有文件...無法找到它.. –

+0

@rahulmaindargi我在這裏找到它:https://groups.google.com/forum/?fromgroups=#!searchin/jquery-ui-layout/disableResizable/jquery -ui-layout/SWrs3PfoL9g/ucFdTppTkS4J – dwaddell