Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jquery css(';高度';)在附加后17毫秒才可用_Jquery_Css_Dynamic Loading - Fatal编程技术网

jquery css(';高度';)在附加后17毫秒才可用

jquery css(';高度';)在附加后17毫秒才可用,jquery,css,dynamic-loading,Jquery,Css,Dynamic Loading,我对一些加载到绝对位置(以前由客户团队设置)的图像的居中有问题 我已经追踪到了问题的根源,那就是得到了一个元素的高度 一个图像被追加,如果我尝试在之后立即获取它的高度,它将返回0。我用setTimeout做了一些测试,并将其缩小到17毫秒(在我的系统上)的延迟,以使高度正确返回 如果不使用setTimeout功能,我如何解决这个问题?运行webapp的每台计算机将有不同的延迟时间?这17ms是您的浏览器下载和解析图像 请在load事件中为图像设置格式,因为浏览器直到加载图像后才知道图像有多大。例

我对一些加载到绝对位置(以前由客户团队设置)的图像的居中有问题

我已经追踪到了问题的根源,那就是得到了一个元素的高度

一个图像被追加,如果我尝试在之后立即获取它的高度,它将返回0。我用setTimeout做了一些测试,并将其缩小到17毫秒(在我的系统上)的延迟,以使高度正确返回


如果不使用setTimeout功能,我如何解决这个问题?运行webapp的每台计算机将有不同的延迟时间?

这17ms是您的浏览器下载和解析图像

请在
load
事件中为图像设置格式,因为浏览器直到加载图像后才知道图像有多大。例如:

var $img = $('<img src="' + image_source + '"/>');
// The browser might not load the image unless it is attached to the DOM
$('#image_container').append($img);
$img.on('load', function() {
    // Now we know how big the image is
    update_my_ui($img.height());
});
var$img=$('');
//除非图像附加到DOM,否则浏览器可能不会加载该图像
$('#image_container')。追加($img);
$img.on('load',function()){
//现在我们知道图像有多大了
更新我的ui($img.height());
});

如果您不希望在加载文件时UI跳转,您可以随时将图像预加载到屏幕外。不幸的是,我听说,在旧浏览器中从缓存加载图像时,可能不会触发加载事件,因此您可能需要进一步研究。

能否在JSFIDLE上提供一个示例?您可以使用一种完全不需要jquery的不同对齐技术。。给我们看一把小提琴,我来演示。你必须等到图像下载完毕。