ユーザー コントロールを作成し、$(document).ready() メソッドにいくつかのコードを配置しましたが、boxWidth 値によってブレークポイントを配置し、ステップ スルーすると、html がまだロードされていないことが目に見えてわかります。そのため、未定義の値を取得しています。アスペクト比などを計算するために img 要素の幅と高さを取得できるように、最初に html をロードする必要があります。
スクリーンショットを以下に示します。
これらの変数をどこにも宣言していないだけです。これを試して:
var elem = $("#Body_Body_ucImageUploadAndCrop_CropImage"),
boxWidth = elem.width(),
boxHeight = elem.height();
elem.Jcrop({
onSelect: storeCoords,
boxWidth: boxWidth,
boxHeight: boxHeight,
aspectRatio: boxWidth / boxHeight
});
コードがエラーなしで実行されるようになったので、画像が読み込まれた後でのみ画像にアクセスしたい場合があります。
$(window).on( "load", function() {
//Code to run after window has loaded
});
やるべきです。
リソースがロードされたイベントを探す必要があります
$.load("image_id", function(){ ... });