首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在页面加载10秒后执行此函数

在页面加载10秒后执行此函数
EN

Stack Overflow用户
提问于 2018-04-10 06:14:46
回答 1查看 19关注 0票数 0

我创建了这个函数来检查用户的cookie,然后显示一个时事通讯弹出窗口。我需要加载后,用户花了10秒在网站导航这一点。我使用过window.setTimeout,但到目前为止它还不起作用。除了这个10秒的延迟执行之外,这个脚本运行得很好。知道我做错了什么吗?

代码语言:javascript
复制
setTimeout(theme.ModalNewsletter, 10000); {
theme.ModalNewsletter = function() 

  if ($.cookie('tada-cookies')) {
  } 
  else {
    var el = $('#newslettermodal');
    if (el.length) {
      $('#newslettermodal').removeClass("hide");
      $.magnificPopup.open({
        items: {
          src: el
        },
        type: 'inline'
      });
    }

  }
  $.cookie('tada-cookies', 'true', { expires: 7});
}

EN

回答 1

Stack Overflow用户

发布于 2018-04-10 06:27:32

在调用setTimeout的时候,theme.ModalNewsletter仍然是未定义的,所以你调用setTimeout时的参数是undefined,你的函数将永远不会被调用。

例如,在此代码段中,只有A将打印到控制台。

代码语言:javascript
复制
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。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49742472

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档