Jquery 获取图像的高度以设置模式窗口大小
我正在创建一个带有缩略图的照片库,并将调整大小的图像加载到模式窗口中 问题是我想获得图像的高度和宽度来设置模式窗口的高度,但是没有在模式窗口或我的图像容器上设置高度 图像的src最初不在我的标记中,但我通过动态附加它将其添加到标记中 原始缩略图图像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)
<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
。但不要认为那是你的问题。你能帮我做一把小提琴来演示这个问题吗?