我有一个配置文件图片系统,允许使用jCrop进行图像裁剪。我注意到如果用户经历了几次这样的过程,裁剪尺寸不能正确计算,因为之前的图像仍然存在。我已经尝试了API中的destroy()方法,但是这并没有清除.jcrop-holder
div及其子图像元素的图像源。
我怎样才能轻易摆脱这种情况?感谢。
答案 0 :(得分:2)
对你的情况作出一些巨大的假设,我决定你可以尝试这样的事情:$(function(){$('.jcrop-holder').removeAttr("style");});
如果那不是你需要的,你应该给我们更多信息!
答案 1 :(得分:1)
我对旧版本的jCrop有类似的问题,并创建了一个自定义销毁函数。以下是它的要点:
function crop_reset()
{
//Reset coordinates of thumbnail preview container
$('#crop_preview').data("coords.x", 0);
$('#crop_preview').data("coords.y", 0);
$('#crop_preview').data("coords.w", 0);
$('#crop_preview').data("coords.h", 0);
//Reset src of jcrop img and copies bound to page specific full size and preview divs
$("#crop, #crop_preview, .jcrop-holder img").attr("src", "");
}
function crop_start()
{
//Initialize and remove previous jCrop containers using load event callback
$('#crop').Jcrop({
onChange: showPreview,
onSelect: showPreview,
onLoad: hidePreview,
aspectRatio: 1,
setSelect: [0, 0, 50, 50],
minSize: [50, 50],
allowResize: false,
allowMove: true
},function(){$(".jcrop-holder").not(":last").remove();});
//Remove previous jCrop containers using timer if callback is not supported
/*
window.setTimeout(function noblank(){
$(".jcrop-holder").not(":last").remove();
}, 1000);
*/
}