2014-02-09 38 views
0

我正在使用这个插件网格系统的拖放功能: https://github.com/McPants/jquery.shapeshift如何禁用与jquery.shapeshift拖放?

您可以调用shapeshift函数并将参数传递给启用和禁用拖放功能。

$(".container").shapeshift({ 
    enableDrag: true,  
}); 

我希望能够打开和关闭此功能。我用这个代码:

var dragState = 0;

$(".switch").on("click", function() { 

    if(dragState == 0) { 
     options = { 
      enableDrag: true, 
     } 
     dragState = 1; 
    } else { 
     options = { 
      enableDrag: false,    
     } 
     dragState = 0; 
    } 

    $(".container").shapeshift(options); 
}); 

当我运行这段代码时,我可以打开拖放,但不能再次退出。

有没有人对此插件有任何建议或经验?

+0

你见过http://mcpants.github.io/jquery.shapeshift/ –

+0

是的,但是当我尝试看看在http://mcpants.github.io/jquery.shapeshift/assets上使用了什么代码时/javascripts/demo.js文件出现为空白 –

+0

您正在寻找的代码可以在http://mcpants.github.io/jquery.shapeshift/assets/javascripts/ember/views.js中找到 看到我的回答。 –

回答

3

使用http://mcpants.github.io/jquery.shapeshift/作为参考。

Basicaly所有你需要做的是:

$(function(){ 
    var sso = { 
     minColumns: 3, 
     enableDrag: false 
    }; 

    var ss = $(".container").shapeshift(sso); 
    $('button').click(function() { 
     sso.enableDrag = true; 
     ss.trigger('ss-destroy'); 
     ss.shapeshift(sso); 

    }); 
}); 

我简化显示需要在这拨弄做什么的例子:

http://jsfiddle.net/carisch19/hDm4e/2/

添加启用和禁用按钮:

http://jsfiddle.net/carisch19/hDm4e/4/

+0

谢谢!我遇到问题,一旦启用它,就会禁用它。对此有何建议? –

+0

查看我的更新。尽管如此,还有一百万种更好的启用和禁用方法。 –

+0

确保您的答案正确,如果它的工作。 –

0

不好意思回答这样一个老问题,但我只是通过shapeshift.js并了解,禁用拖放我们可以销毁它,但没有这么长的路,也没有必要把它变成变量。

希望你会对这种简短的方式感兴趣并更新你的代码。

下面是代码

$('div').trigger("ss-destroy"); 

上面的代码足以摧毁,并根据我也是一个非常干净和方便的方式。

试试一次!