Jquery 获取图像的高度以设置模式窗口大小

Jquery 获取图像的高度以设置模式窗口大小,jquery,image,height,modal-dialog,Jquery,Image,Height,Modal Dialog,我正在创建一个带有缩略图的照片库,并将调整大小的图像加载到模式窗口中 问题是我想获得图像的高度和宽度来设置模式窗口的高度,但是没有在模式窗口或我的图像容器上设置高度 图像的src最初不在我的标记中,但我通过动态附加它将其添加到标记中 原始缩略图图像 <img src="\images\picture1.jpg" height="150" width="150" id="thumbnail"> Jquery代码: var tImageID = $(this)

我正在创建一个带有缩略图的照片库,并将调整大小的图像加载到模式窗口中

问题是我想获得图像的高度和宽度来设置模式窗口的高度,但是没有在模式窗口或我的图像容器上设置高度

图像的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%');
var tImageID=$(this.find('img').attr('id','thumbnail');
var fullURL=$(tImageID).attr('src');
var dFigure=$(“#dialog media figure.media”);
//fullSrcURL=“\images\picture\u resized.jpg”
var fullSrcURL=fullURL.replace(“.jpg”,“_resized.jpg”);
//将html添加到div标记
$(d图)。附加(“”);
var objHeight=$(“#调整大小的图片”).height();
var objWidth=$(“#调整大小的图片”).width();
//在这里执行一些其他代码
//更多的逻辑
//使用这些CSS属性设置模式窗口的位置
$('.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%');
图片已加载,但当查看firebug时,objWidth和objHeight显示为零

我刷新我的页面,点击同一个缩略图,图片与模式内的图像一起加载,模式的高度设置正确

是因为图片还没有完全加载,所以它是零吗?还是因为它是缓存的

谢谢

干杯

@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

        }

我猜是因为图像还在加载。看看我的答案,如果这不起作用,你能做一把小提琴来演示这个问题吗?我注意到的另一件事是,在设置css时,
ObjHeight
是大写的,而不是
ObjHeight
。但不要认为那是你的问题。你能帮我做一把小提琴来演示这个问题吗?