我正在为一个简单的任务创建一种灯箱类型的代码。
我的问题是当我尝试获取高度时,即使在图像加载后它显示值“null”。
在控制台中尝试:
console.log($('#image-wrap img').height());
这是我的完整代码:
$(function(){
$.fn.showBig = function(){
$(this).click(function(){
var getURL = $(this).data('url');
$('<div id="darkbg"/>').css({'opacity':'0.5'}).appendTo('body');
$('<div id="popup"/>').css({'opacity':'0'}).appendTo('body');
$('<div id="imageWrap"><img src =' + getURL +'></div>').appendTo('#popup');
$('<span id="close"/>').text('X').appendTo('#popup');
var maxHeight = $(window).height(),
countHeight = $('#image-wrap img').height(),
countWidth = $('#image-wrap img').width(),
countTop = $('#image-wrap img').height()/2,
countLeft = $('#image-wrap img').width()/2;
console.log($('#image-wrap img').height());
$('#image-wrap').css({'height':countHeight+'px', 'width':countWidth+'px'});
$('#popup').css({'margin-left':'-'+countLeft+'px', 'margin-top':'-'+countTop+'px'}).animate({'opacity':'1', 'height':countHeight+'px', 'width':countWidth+'px'})
$('#popup').closeBig();
});
}
$.fn.closeBig = function(){
$(this).on('click', function(){
$('#darkbg, #popup, #close').fadeOut(removeall);
function removeall(){
$(this).remove()
}
});
}
$('#gallery-list li a').showBig();
});
jsfiddle 网址:http: //jsfiddle.net/mufeedahmad/R2uwq/1/
提前致谢。