2017-08-17 489 views
0

我正在嘗試使網格靜態。根本沒有運動。GridStack-設置靜態網格

我想:

var options = { 
     staticGrid: true, 
    }; 
    $('.grid-stack').gridstack(options); 

而且這個

var options = { 
     setStatic: true, 
    }; 
    $('.grid-stack').gridstack(options); 

var options = { 
     staticGrid: true, 
    }; 
    $('.grid-stack').gridstack(options); 
    $('.grid-stack').data('gridstack').setStatic(true); 

他們都不似乎工作,我用這個link的文檔。

他們也提到了一種方法setStatic,但是沒有使用這種方法的例子。

回答

0

根據Gridstack docsstaticGrid:true如果要在啓動時(第一個方法)初始化並將網格定義爲STATIC,那麼該參數是正確的。

SetStatic(true)是一個函數,您可以調用該函數以編程方式切換此狀態。

如果您查看源代碼,您會看到一個新的CSS類已被添加到網格包裝DIV;一個名爲'grid-stack-static'的類。此類的外觀確認參數選項staticGrid:true已被接受並執行。

但是,當我發現自己(與庫的v0.30),我的初始化網格中的網格窗口小部件仍然可以調整大小和移動。在我看來這意味着一個錯誤。

您可以通過使用項目鎖定在一個小部件項目水平移動和縮放屬性數據-GS-沒有調整大小=「是」數據-GS-無招=「是」

似乎適得其反,如果您已經說過'靜態',就必須這樣做。

我在Github上提出了一個問題來查詢此行爲。

順便說一句,建議在網格初始化之後調用並使用setStatic(true)函數;作爲這個錯誤的臨時修復。這是你的第三種方法 - 這對我有用。

你的第三個方法和我的唯一區別是函數被包裝在document.ready函數中(爲了方便我在系統上使用了$ = jquery快捷方式)。

任職:

(function ($) { 
 
    // Shortcut $=jquery 
 

 
    $(document).ready(function() { 
 
     // start grid 
 

 
     $(function() { 
 
     var options = { 
 
      staticGrid:true 
 
      }; 
 
     $('.grid-stack').gridstack(options); 
 

 
     $('.grid-stack').data('gridstack').setStatic(true); 
 
     }); 
 

 
    // END DOC READY 
 
    }); 
 
// SHORTCUT FIX 
 
})(jQuery);

+0

如果你嵌套了電網這是行不通的。 – Kamran

+0

@Kamran解決方法也適用於內部網格。對每個網格組構造類名重複API調用setStatic(true)。即$('。grid-inner')。data('gridstack')。setStatic(true); –