Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.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 调整div高度不适用于空缓存_Jquery - Fatal编程技术网

Jquery 调整div高度不适用于空缓存

Jquery 调整div高度不适用于空缓存,jquery,Jquery,我有两个div,一个需要和另一个大小相同 var someheight = $('.firstdiv').height(); $('.seconddiv').height(someheight); 这段代码可以正常工作,除非我加载带有空缓存的页面——在这种情况下,它根本不会运行。我需要重新加载页面以启动它。您需要响应窗口大小调整和加载事件,可能您在.firstdiv中有图像等资源,这些资源在加载时会更改其高度。因此,如果过早地运行代码,它将使用错误的高度,然后图像将加载并更改.firstdiv

我有两个div,一个需要和另一个大小相同

var someheight = $('.firstdiv').height();
$('.seconddiv').height(someheight);

这段代码可以正常工作,除非我加载带有空缓存的页面——在这种情况下,它根本不会运行。我需要重新加载页面以启动它。

您需要响应窗口大小调整和加载事件,可能您在.firstdiv中有图像等资源,这些资源在加载时会更改其高度。因此,如果过早地运行代码,它将使用错误的高度,然后图像将加载并更改.firstdiv高度

例如:

第一个调用是最主动的,然后在DOM完成时再次调用,然后在加载或调整大小时再次调用。如果您的脚本位于HTML的末尾,就在结束标记之前,并且您使用的是最新版本的jQuery,那么您可以不使用ready调用,它是多余的[尽管无害]。不过,在一些版本之前,有一个bug,使得在DOM就绪之前高度并不完全可靠。它修好了


请注意,无论是否加载图像,都需要调整大小;由于.firstdiv的大小显然不是静态的,否则您只需为.seconddiv使用静态高度,因此更改窗口大小可能会更改其高度。

您能解释一下“空缓存”是什么意思吗?浏览器缓存。按Ctrl-F5可以重新加载的那个。那些div元素是否包含img元素?如果是这样的话,您需要等待它们加载,然后才能获得div的高度。实际上,不,只是文本。第二个div几乎是空的,bat必须匹配第一个充满文本的div。
function syncHeights() {
    var someheight = $('.firstdiv').height();
    $('.seconddiv').height(someheight);
}
syncHeights();
$(document).ready(syncHeights);
$(window).on("load resize", syncHeights);