Jquery在弹出窗口设置超时时间

Jquery setTimeout on popup

本文关键字:设置 超时 时间 窗口 Jquery      更新时间:2023-09-26

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

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

下面是setTimeout方法的文档。

所以在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.
      }
    }
  }
});

如果您只需要在弹出窗口打开之前等待一段时间,您可以使用delay()。可以在.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秒(参数以毫秒为单位)才打开弹出窗口。