jCrop を使用して画像をトリミングできるプロフィール画像システムがあります。ユーザーがプロセスを数回実行すると、前の画像がまだそこにあるという理由だけで、トリミングの寸法が適切に計算されないことに気付きました。API から destroy() メソッドを試しましたが、それは.jcrop-holder
div とその子画像要素から画像ソースをクリアしません。
どうすればこれを簡単に取り除くことができますか? ありがとう。
jCrop を使用して画像をトリミングできるプロフィール画像システムがあります。ユーザーがプロセスを数回実行すると、前の画像がまだそこにあるという理由だけで、トリミングの寸法が適切に計算されないことに気付きました。API から destroy() メソッドを試しましたが、それは.jcrop-holder
div とその子画像要素から画像ソースをクリアしません。
どうすればこれを簡単に取り除くことができますか? ありがとう。
あなたの状況についていくつかの大きな仮定を立てて、私は次のようなことを試すかもしれないと判断しました: <code>$(function(){$( '.jcrop-holder').removeAttr("style"); }); </コード>
それが必要でない場合は、さらに情報を提供してください。
古いバージョンの 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);
*/
}