我正在使用 Jcrop 编辑用户上传的图像,当用户决定编辑他们的图像时,会进行 AJAX 调用以获取用户的原始图像,我的代码如下:
var jcrop_api;
$('.edit_image').on('click', function(e)
{
var url = $(this).attr('data-url');
e.preventDefault();
$.ajax({
url: url,
type: 'GET',
cache: false,
beforeSend: function()
{
// Remove old box in case user uploaded new image bring the latest one
$('#edit_box').remove();
},
success: function(result)
{
if (result.error)
{
alert(result.error);
}
else
{
$('.edit_image_box').html(result);
$('#edit_box').modal({ show: true});
$('#original_img').load( function()
{
$(this).Jcrop({
aspectRatio: 1,
onSelect: updateCoords,
boxWidth: 700,
boxHeight: 700
}, function()
{
jcrop_api = this;
});
});
}
}
})
});
function updateCoords(c)
{
$('#x').val(c.x);
$('#y').val(c.y);
$('#w').val(c.w);
$('#h').val(c.h);
};
function checkCoords()
{
if (parseInt($('#w').val())) return true;
alert('Please select a crop region then press submit.');
return false;
};
盒子被加载,模态显示并且图像被完美加载,但是一旦它完成加载并且Jcrop开始播放,它会完全缩小宽度,留下大约20px宽的图像。
有人可以帮我解决这个问题,几乎 80% 的情况都会发生这种情况。干杯!