我正在创建一个包含缩略图的照片库,并将调整后的图像加载到模态窗口中。
问题是我想获得图像的高度和宽度来设置模态窗口的高度,但是没有在模态窗口或我的图像容器上设置高度。
图像的src最初不在我的标记中,但我通过动态附加它将其添加到标记中。
原始缩略图
<img src="\images\picture1.jpg" height="150" width="150" id="thumbnail">
Jquery代码:
var tImageID = $(this).find('img').attr( 'id', 'thumbnail' );
var fullURL = $(tImageID).attr('src');
var dFigure = $('#dialog-media figure .media');
// fullSrcURL = "\images\picture_resized.jpg"
var fullSrcURL = fullURL.replace(".jpg", "_resized.jpg");
// Add html to the div tag
$(dFigure).append('<img id="resized-pic" src="' + fullSrcURL + '" alt="' + $(tImage).attr('alt') + '" />');
var objHeight = $("#resized-pic").height();
var objWidth = $("#resized-pic").width();
// Perform some other code here
// Some more logic
//Set the positioning of the modal window with theses CSS properties
$('.ui-dialog').css('left', '0');
$('.ui-dialog').css('right', '0');
$('.ui-dialog').css('margin', '0 auto');
$('.ui-dialog').css('width', objWidth);
$('.ui-dialog').css('height', ObjHeight);
$('.ui-dialog').css('top', '5%');
图片加载,但是当看到萤火虫时,objWidth和objHeight显示为零。
我刷新页面,点击相同的缩略图,图片加载模态中的图像,并正确设置模态的高度。
是因为图片没有完全加载,这就是它为零的原因吗?或者是因为它被缓存了?
由于
干杯
答案 0 :(得分:2)
@Trevor
我发现我需要这段代码:
image= new Image();
image.onload = onLoadHandler; // Checks to ensure the image has been loaded
image.src=fullSrcURL;
function onLoadHandler() {
//Put in logic here once the image has been loaded
}