2014-02-09 20 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"); 

上面的代碼足以摧毀,並根據我也是一個非常乾淨和方便的方式。

試試一次!