2017-08-17 251 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); –