2012-07-04 92 views
0

我已經做了一個用戶控件,並在$(document).ready()方法中放置了一些代碼,但是當我放置斷點時,通過boxWidth值,並逐步通過,我可以明顯地看到HTML尚未加載,這就是爲什麼我得到未定義的值。我需要的HTML先加載,這樣我就可以得到一個img元素的寬度和高度來計算方面的口糧等

一個屏幕截圖如下:

enter image description here

+0

下一次請張貼代碼本身也是如此。 – Esailija

回答

5

您只需避風港不會在任何地方聲明這些變量。試試這個:

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 
}); 

應該這樣做。

+0

多數民衆贊成在屏幕截圖中的錯誤告訴atleast,很好地發現:) – thmsn

+0

@thmsn tbh如果圖像沒有緩存他會得到'0'的尺寸 – Esailija

+0

我仍然得到一個爲0的尺寸? – Lee

-1

您應尋找資源加載事件

$.load("image_id", function(){ ... }); 
相關問題