Javascript 如何向document.getElementById添加延迟

Javascript 如何向document.getElementById添加延迟,javascript,delay,getelementbyid,Javascript,Delay,Getelementbyid,我有这个: 我正在尝试加载此js代码,value.id对应于加载页面后检测到的元素。但实际上,此代码是在加载元素之前运行的,并且我有以下错误: 无法读取null的属性“nodeType” 我想在document.getElementByIdvalue.id上添加类似延迟的内容 我试过了,但什么也没有: const area = setTimeout(document.getElementById(value.id), 4000); Count.on(area, counter =

我有这个:

我正在尝试加载此js代码,value.id对应于加载页面后检测到的元素。但实际上,此代码是在加载元素之前运行的,并且我有以下错误:

无法读取null的属性“nodeType”

我想在document.getElementByIdvalue.id上添加类似延迟的内容

我试过了,但什么也没有:

    const area = setTimeout(document.getElementById(value.id), 4000);
    Count.on(area, counter => {
    ...
以及:


两个函数都给出相同的错误,有什么想法吗?

您可以将代码放入一个函数中,并将其称为setDelay函数


setTimeout不会向调用者返回任何内容。

多亏了大家,我解决了这个问题:

$(document).ready(function(){
// your code
});

您可以使用window.onload设置在页面加载后调用的函数…value.id是什么?谢谢,您如何建议我使用我在文章顶部提交的代码使用window.onload。谢谢所有的代码都很完美,我已经声明了所有的值。我只需要知道如何设置延迟:Dit取决于…value.id是什么?您好,谢谢Vivek的回答。已尝试,但仍出现错误。另一个想法?@K3ny1您应该检查value.id value,或者您可以使用setDelay.bindthis、value.id和更改函数setDelayvaluesId
function setDelay() {
    const area = document.getElementById(value.id);
    Count.on(area, counter => {
    ...
}
setTimeout(setDelay, 4000);
$(document).ready(function(){
// your code
});