2

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

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

图像的 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 在查看萤火虫时显示为零。

我刷新我的页面,单击相同的缩略图,图片加载了模态中的图像,并且模态的高度设置正确。

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

谢谢

干杯

4

1 回答 1

2

@特雷弗

我发现我需要这段代码:

        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

        }
于 2013-10-07T15:52:45.330 回答