首页 > 解决方案 > jQuery 如果页面已加载并且时间已过

问题描述

嘿嘿,

我只想要一个简单的 if 语句来检查整个页面是否已加载window.loaded,以及是否经过了一定的秒数time.passed。我不想在加载窗口时启动 time.passed 计数器......我只想要一个 if 语句来检查 window && time 是否为真。

那可能吗?

这是我不正确的梦想代码

if (window.loaded == true && time.passed == 3000) {
    // do something
}

我想我必须使用变量,我对此很好......我只是不知道如何让它为我工作。

标签: javascriptjqueryif-statement

解决方案


感谢@NoSkill,我自己找到了答案。即使他的脚本没有按预期工作,我也使用了它并用 jQuery 重写了它。现在它可以按我的意愿工作。

我在顶部添加了一个小计数器,以查看脚本是否按预期工作。我还添加了一个大图像以使网站加载时间更长,但出于某种原因,在这个 Snippet-Tool 中,图像至少对我来说会立即加载。

这是代码:

// counter to check if the script works as intended
var startTime = new Date();
setInterval(function () {
  $('span').html("ms since the start: " + (new Date() - startTime));
}, 100);

// the actual script
function run() {
  $('p').html('site loaded and 15s passed');
}    

var time = new Date(), 
    wait = 15000;

$(window).load(function(){
    var currenttime = new Date() - time;
    if (currenttime < wait) { setInterval(run, wait - currenttime); }
    else { run(); console.log(currenttime); }
});
img {
  width:100%;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
</head>
<body>

<span></span>
<p></p>
<img src="https://effigis.com/wp-content/uploads/2015/02/Airbus_Pleiades_50cm_8bit_RGB_Yogyakarta.jpg">

</body>
</html>


推荐阅读