Javascript 页面加载10秒后仍无法执行此功能

Javascript 页面加载10秒后仍无法执行此功能,javascript,settimeout,Javascript,Settimeout,我创建了这个函数来检查用户的cookies,然后显示一个新闻稿弹出窗口。我需要在用户在站点上导航10秒后加载此文件。我使用过window.setTimeout,但到目前为止它还不起作用。除了这10秒的延迟执行之外,脚本工作得非常出色。知道我做错了什么吗 setTimeout(theme.ModalNewsletter,10000);{ theme.ModalNewsletter=函数() 如果($.cookie('tada-cookies')){ } 否则{ var el=$(“#模态”);

我创建了这个函数来检查用户的cookies,然后显示一个新闻稿弹出窗口。我需要在用户在站点上导航10秒后加载此文件。我使用过window.setTimeout,但到目前为止它还不起作用。除了这10秒的延迟执行之外,脚本工作得非常出色。知道我做错了什么吗

setTimeout(theme.ModalNewsletter,10000);{
theme.ModalNewsletter=函数()
如果($.cookie('tada-cookies')){
} 
否则{
var el=$(“#模态”);
if(el.长度){
$(“#时事通讯模式”).removeClass(“隐藏”);
$.magnificPopup.open({
项目:{
src:el
},
键入:“内联”
});
}
}
$.cookie('tada-cookies','true',{expires:7});

}
在调用setTimeout时,theme.ModalNewsletter仍然未定义,因此您调用setTimeout时的参数为undefined,您的函数将永远不会被调用

例如,在这个代码段中,只有一个将被打印到控制台中

var obj = {
    a: function(){ console.log("A")}
};
window.setTimeout(obj.a, 1000);
window.setTimeout(obj.b, 1000);
obj.b = function(){ console.log("B")};

若要解决此问题,您需要在调用setTimeout之前声明属性ModalNewsLetter。

在调用setTimeout时,theme.ModalNewsLetter仍然未定义,因此您调用setTimeout时的参数为undefined,您的函数将永远不会被调用

例如,在这个代码段中,只有一个将被打印到控制台中

var obj = {
    a: function(){ console.log("A")}
};
window.setTimeout(obj.a, 1000);
window.setTimeout(obj.b, 1000);
obj.b = function(){ console.log("B")};
要解决此问题,需要在调用setTimeout之前声明属性ModalNewsLetter