在页面加载10秒后停止执行此功能。

时间:2018-04-09 00:49:05

标签: javascript modalpopupextender simplemodal

我创建了这个函数来检查用户的cookie,然后显示一个简报Popup。我需要在用户在网站上导航10秒后加载它。我使用window.setTimeout但到目前为止还没有用。除了这10秒延迟执行之外,该脚本的工作非常精彩。知道我做错了什么吗?

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});
}

2 个答案:

答案 0 :(得分:0)

确保你的超时传递函数本身并且不执行它。

正确的方式:

setTimeout(theme.ModalNewsletter, 10000);

方式不正确:

setTimeout(theme.ModalNewsletter(), 10000);

答案 1 :(得分:0)

这是正确的做法吗?

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});
}