2012-07-04 2 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

То, что ошибка на скриншоте говорит по крайней мере, красиво заметили :) – thmsn

+0

@thmsn tbh, если изображение не кэшировано, он получит '0' для размеров – Esailija

+0

Я все еще получаю 0 для размеров? – Lee

-1

Вы должны искать ресурсы загружены событие

$.load("image_id", function(){ ... }); 
Смежные вопросы