2017-05-26 81 views
1

我有一個啓動模式對話框,顯示每個頁面加載。 但我需要設置10秒延遲下一個模式彈出通過引用 resh。如何防止在特定時間顯示啓動模式

這意味着我刷新顯示的頁面和模式,然後模式不應該被刷新出了接下來的10秒

這是我做的,到目前爲止,但不可能解決它,

var showpopup = "0"; 
refreshIntervalId; 
if (refreshIntervalId) { 
    refreshIntervalId = setInterval(function() { 
     localStorage.setItem("allowShowPopup", "1"); 
    }, 10000); 
} else { 
    showpopup = localStorage.getItem("allowShowPopup"); 
    if (showpopup == "1") { 
     $("#mpopupsLightbox").modal('show'); 
    } 
} 
+0

讓我澄清一下,所以當你刷新頁面時,'mpopupsLightbox'不應該先顯示出來,直到10秒鐘過去?或者它是相反的方式? – eeya

+1

你需要setTimeout而不是setInterval。雖然setTimeout觸發一次,但setInterval每個區間重複無限,直到它被清除。 –

+0

@eeya一開始它應該出現,然後任何刷新它不應該在10秒內 – TyForHelpDude

回答

0

讓我解釋我是如何解決我的問題的。這是jquery.cookie.js來救援,我設置了一個cookie,10秒後過期,並檢查它的設置彈出窗口能夠顯示,如果刷新頁面..

這是代碼片這樣做;

if ($.cookie('modal_shown') == null) { 
     var date = new Date(); 
     date.setTime(date.getTime() + (10 * 1000)); 
     $.cookie('modal_shown', 'yes', { expires: date }); 
     $("#myModal").modal('show'); 
    } 
4

嘗試。

$(document).ready(function(){ 
    setTimeout(function(){ 
    $("#mpopupsLightbox").modal("show"); 
},10000); 
}) 
+0

這不是我的答案,它只是在10秒後彈出彈出,我需要它在第一次刷新時立即觸發,直到超過10秒 – TyForHelpDude