在我的网页上,我正在使用javascript检查来查看元素何时加载。我正在强制加载此元素,但是脚本似乎无法正常工作。

这是我在做什么

var exists = false;
while(!exists)
{
    setTimeout(function () { }, 100);
    if ($('#reject-grid').length) {
        var exists = true;
        $("#loading").fadeOut();
        $("#wrapper").removeClass("hidden");
    }
}


所以我一直循环直到元素存在,并且每次迭代都等待100毫秒。然后,我做了一些工作来基本上停止我的微调器,它控制了加载屏幕。

最佳答案

您希望每100ms重复一次,但是实际上您正在做的是创建一堆空的超时句柄并一次又一次地运行此代码。

您想要类似的东西:

function checkRejectGrid() {
  if ($('#reject-grid').length) {
    $("#loading").fadeOut();
    $("#wrapper").removeClass("hidden");
  } else {
    setTimeout(checkRejectGrid, 100);
  }
}

checkRejectGrid();

10-05 20:51
查看更多