弹出窗口上的Jquery setTimeout

时间:2016-08-16 17:39:19

标签: javascript jquery

如何设置弹出窗口的开启时间?

        <script type="text/javascript">
        mgsjQuery(window).load(function () {
            if(mgsjQuery(window).width() > 991) {
                if(getCookie('newsletter')!='nevershow'){
                    if (mgsjQuery('#newsletter').length) {
                        mgsjQuery.magnificPopup.open({
                            items: {
                                src: '#newsletter' 
                            },
                            type: 'inline'
                        });
                    }
                }
            }
        });
    </script>

我认为我应该包含以下代码,但我不知道在哪里?

setTimeout( NAME, 8000 );

2 个答案:

答案 0 :(得分:1)

此处有setTimeout method文档。

所以NAME在哪里,你应该插入你的函数名或匿名函数。

所以在你的情况下它会像:

mgsjQuery(window).load(function () {
  if(mgsjQuery(window).width() > 991) {
    if(getCookie('newsletter')!='nevershow'){
      if (mgsjQuery('#newsletter').length) {
        setTimeout(function(){  // <- Inserted - below code will run after 8 seconds
          mgsjQuery.magnificPopup.open({
            items: {
              src: '#newsletter' 
            },
            type: 'inline'
          });
        }, 8000);   // <- Inserted 8000 ms = 8 sec.
      }
    }
  }
});

答案 1 :(得分:0)

如果您只需要在弹出窗口打开之前等待一段时间,则可以使用延迟()。您可以在.open()

之后调用该方法

像这样:

   <script type="text/javascript">
    mgsjQuery(window).load(function () {
        if(mgsjQuery(window).width() > 991) {
            if(getCookie('newsletter')!='nevershow'){
                if (mgsjQuery('#newsletter').length) {
                    mgsjQuery.magnificPopup.open({
                        items: {
                            src: '#newsletter' 
                        },
                        type: 'inline'
                    }).delay(1000);
                }
            }
        }
    });
</script>

在这种情况下,延迟功能将在打开弹出窗口之前等待1秒(参数以毫秒为单位)。