为什么在将这个无限循环添加到我的 javascript 代码后我的页面没有加载?

迪奥戈·科雷亚

我在 javascript 中创建了这个无限循环,以便运行 setTimeout 函数。问题是,通过这样做,我的页面甚至没有首先加载。

这是javascript代码:

function blurDiv() {
    console.log("here");
    rankingList.style.filter="blur(0.7)";
} 

function loadContent() {
    console.log("loaded");
    $( "#ranking-container" ).load("index.php #ranking-list");
    rankingList.style.filter="blur(0)";  
}

while(true) {
    setTimeout(blurDiv, 4000);

    setTimeout(loadContent, 5000); 
}

我原以为循环只会在这 5 秒后运行另一次迭代。

哈伦·耶尔马兹

使用setInterval()代替while(true){setTimeout()}

function blurDiv() {
    console.log("here");
    // Other stuff here
} 

function loadContent() {
    console.log("loaded");
    // Other stuff here
}


setInterval(blurDiv, 5000);
setInterval(loadContent, 5000);

解释:

setTimeout()是一个异步函数,这意味着 JS 不会等待它完成并继续运行。因此,使用 loop while(true),它会在每一轮中创建两个超时回调,这将导致大量(非常大量)的超时回调并且永远不会退出该while(true)循环

但是,通过使用setInterval()您可以创建一个计时器,它将在每个周期(间隔)中触发回调。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

我的 Javascript 代码使用了 100% 的 CPU 并且没有加载

如何将这个jQuery添加到我的Javascript中?

将javascript库添加到我的项目的标准方法是什么?

将jQuery添加到我的Javascript文件中

为什么在注入 Bootstrap 4 Modal 时没有加载 javascript 代码?

为什么将这个额外的“?_ = 1579068576376”添加到我的API请求的URL'/ api / customers'中

如何使用Javascript将元素目标添加到我的代码中

试图将 hCaptcha 添加到我的网站,但不理解此 javascript 代码

我可以将javascript原型添加到我的数组实例中吗?

将 DOCTYPE html 添加到我的 index.html 会破坏我的 javascript

为什么我的对象没有以编程方式正确添加到 JavaScript 中的 select 元素?

我的索引页面没有看到我在共享布局页面中加载的javascript库

为什么我的JavaScript代码中可能存在无限循环?

Javascript自动将<tr>添加到我的表格元素中

如何将标题添加到我的动态表?javascript

如何使用Javascript将jQuery添加到我的网页?

如何使用JavaScript将数组添加到我的HTML

将配置文件添加到我的JavaScript项目

如何使用 Javascript 将所需功能添加到我的个人列表中?

将 JavaScript 添加到我的 Plotly Dash 应用程序 (Python)

JavaScript:将索引号添加到我的数组元素的函数不断应用索引号

如何将触发键添加到我的 javascript 项目中

如何将 SVG 添加到我的 Javascript .textContent?

为什么这个 Javascript 函数没有打印到我的 HTML 文档中?

JavaScript:为什么我的 While 循环无限循环?

为什么Kubuntu将.directoy文件添加到我的目录中?

为什么Protege将`xml`命名空间添加到我的本体中?

为什么不应该将重复对象添加到我的Python集中?

为什么将pod中的文件添加到我的覆盖率报告中?