文档完全加载后,我的javascript开始更改img源和背景图像等内容。
这些更改以不同的方式发生(通过在JS中预加载它们或直接更改例如src
属性)。但是,对于这些更改,需要加载新文件。
这些变化是随机发生的,随机源是随机元素,因此我无法提供元素或来源列表。
在某些特定时刻,我的javascript(jQuery)需要检查是否还有任何内容正在加载,或者是否所有内容都已完全加载。
换句话说,我需要一种方法来检查网络流量是否正在进行。
理想情况下,每次请求加载文件时,我都不想将变量loading
设置为true,并且如果完成加载过程,则将该变量设置为false,所以我可以使用while (loading==true) {loopscript()}
之类的东西在加载时循环一些脚本。
有没有jQuery方法可以做到这一点?
答案 0 :(得分:0)
您可以使用JQuery加载事件,但您需要确保setInterval调用嵌入在头部。下面的示例是加载一个页面,其中图像需要5000毫秒才能加载。它每1000毫秒输出到控制台。
const { oneKey, twoKey, threeKey } = this.props.largeObject;

答案 1 :(得分:0)
您可以使用$.Deferred
为每个操作创建一个承诺,并将所有承诺推送到数组。
然后在所有承诺解决后使用$.when()
更新加载变量。
每个单独的承诺都需要在图像的加载事件处理程序中解析,或者在该操作完成时可能触发的任何其他事件