【发布时间】:2017-06-10 18:29:29
【问题描述】:
我如何检查(使用 jquery 或 vanilla js)页面上的所有图像都已加载,并且它们已以最终的全高呈现,并且它们的父元素已调整到该高度?
我正在使用 jquery 实现scrollspy 函数 - 确定用户在页面上的位置并突出显示他们在导航中的位置,并在他们滚动时更新他们的位置。为了使其正常工作,我需要知道我想要监视的页面上每个部分的 offset.top。如果我过早地计算 offset.top,在所有图像都加载并以全高显示之前,offset().top 计算将不正确。我想避免多次运行 offset().top 计算。
我尝试过的东西不能满足我的需求:
$(document).ready() and $(window).onload() 都为时过早,因为图像可能没有按其全高渲染,因此导致部分未按全高渲染。
imagesLoaded 库。与上述相同的问题,不考虑将图像渲染到完整高度。
【问题讨论】:
-
我猜你的意思是
$(window).on("load"... -
您是动态加载内容还是从服务器请求页面时所有内容都存在?
-
@epascarello 我一直在使用jQuery .load() event,我认为它可以与你所说的互换。原谅我写原始问题时的伪代码!
-
@epascarello 我没有动态加载任何东西,它都存在于对服务器的原始请求中。
标签: javascript jquery image loading