gpt4 book ai didi

JAVASCRIPT - "Code inside event"超时? o.O

转载 作者:行者123 更新时间:2023-12-03 10:31:53 24 4
gpt4 key购买 nike

我的页面中有此事件

window.addEventListener("load", function(){
var load_screen = document.getElementById("load_screen");
document.getElementsByTagName("BODY")[0].setAttribute("class", "loaded");
})

wich 在页面加载时为正文添加一个属性 class="loaded" 但由于我添加了一个很酷的预加载器效果,我想让事件在之前等待 3-5 秒显示真实页面,即使它已经完全加载(但当然,如果未完全加载,则需要等待更多时间)。这在某种程度上是可能的吗?

最佳答案

如果您想要的延迟最小值为 5 秒,您可以捕获建立事件处理程序时的时间(即,在“load”事件发生之前)已触发),然后在处理程序中再次检查时间。

var startTime = Date.now();
window.addEventListener("load", function(){
var load_screen = document.getElementById("load_screen");
setTimeout(function() {
document.getElementsByTagName("BODY")[0].setAttribute("class", "loaded");
}, Math.max(0, 5000 - (Date.now() - startTime)));
});

也没有理由使用.setAttribute()设置类:

    document.getElementsByTagName("BODY")[0].className = "loaded";

就我个人而言,我要么使用 .classList设施或继续老派并添加新类(class):

    document.getElementsByTagName("BODY")[0].className += " loaded";

这样你就不会踩到 <body> 上可能(可能将来)的任何其他类(class)。 .

关于JAVASCRIPT - "Code inside event"超时? o.O,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29175094/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com