2016-08-16 81 views
0

如何設置彈出窗口的打開時間?彈出的Jquery setTimeout

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

什麼時候你想打開彈出窗口?某個事件發生後?在頁面加載? – mhodges

回答

1

這是setTimeout method文檔。

所以,如果名稱是,你應該插入你的函數名稱或匿名函數。

所以你的情況,它會是這樣的:

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

如果你只是需要等待一段時間,在彈出的打開之前,你可以使用延遲()。您可以在。開()

篩選後調用方法:

<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秒(參數以毫秒爲單位給出)打開彈出窗口前。