使用Rails中的JQuery Jcrop插件进行头像裁剪

时间:2015-06-22 07:00:32

标签: javascript jquery ruby-on-rails jquery-plugins jcrop

我现在正在使用Jcrop插件进行头像裁剪任务。我现在坚持如何将选择框设置为固定框,具体取决于用户首选项。页面顶部有一个复选框,用户可以选择他们想要的固定选择框或用户可以调整大小的裁剪框。

$("#cropbox").Jcrop({
    onChange: showCoords,
    onSelect: showCoords,
    bgOpacity: .5,
    aspectRatio: 1,
    //minSize: [ 400, 400 ],
    //maxSize: [ 400, 400 ],
    setSelect:  getDimensions(),
    bgColor: 'black'
});

通过将“minSize”和“maxSize”都设置为[400,400],我设法将选择框设置为修复大小,用户无法调整大小。

<input type="checkbox" id="checkbox"/> Fixed to 400px <br />

接下来,有一个复选框,用户可以选择它来固定选择框的大小,也可以取消选中它,以便用户可以调整选择框的大小。

我不知道如何根据复选框选择修改“minSize”和“maxSize”。如何将它们都修改为[0,0],以便用户可以调整它...

$('#checkbox').click(function(){
  if (this.checked) {
    this.minSize =  [400,400],
    this.maxSize = [400,400],
  }
  else{
    this.minSize = [0,0],
    this.maxSize = [0,0],
  }
})

1 个答案:

答案 0 :(得分:0)

您应该将此设置设置为jcrop元素。我们接受jcrop_api是您之前设置的元素:

var jcrop_api = $('#cropbox')。Jcrop({ ... });

然后在检查时,您可以将设置发送到您的jcrop元素。

$('#checkbox').click(function(){
      if (this.checked) {
        jcrop_api.setOptions({
          minSize =  [400,400],
          maxSize = [400,400],
        });
      }
      else{
        jcrop_api.setOptions({
          minSize =  [0,0],
          maxSize = [0,0],
        });
      }
    });