2016-10-29 3 views
0

ページが最初に読み込まれた後に表示され、その後に一定の時間間隔で表示および非表示にする必要があります。 3分ごとにそれを表示すると、良い時間間隔になります。ページの読み込み時にポップアップを表示し、それを一定の時間間隔で表示したり非表示にしたりします。

私は現在、このコード

<script> 
function popup(){ 

setTimeout(function(){ 
document.getElementById("disclaimer").style.display = "block"; 
},0); 
} 
function hidePopup(){ 
document.getElementById("disclaimer").style.display = "none"; 
} 
</script> 

私はその後、約3分の時間が経過した後に再び示す維持するために、ポップアップを必要としています。

+1

質問自体にコードを追加してください([mcve]を追加してください) – ochi

答えて

1

setIntervalを使用すると、ミリ秒単位でコードを非同期に実行できます。次に、setTimeoutを使用して関数を遅延させ、一定期間ポップを表示します。

//function runs every 3 minutes 
setInterval(function(){ 

    //function waits 1 second 
    setTimeout(function(){ 
     popup(); 
    }, 1000); 

    hidePopup(); 
}, 180000); 

この機能は、すべての180000ミリ秒(3分)を実行し、1000ミリ秒(1秒)のポップアップが表示されます。

2

(必要に応じてどのくらい秒に変更時間間隔)私は

一つの機能だけ

スニペット1でそれを行うだろうかここでは、この

//start showing popup 
 
popup(); 
 

 
function popup() { 
 

 
    document.getElementById("disclaimer").style.display = "block"; 
 

 
    console.log("wait 3 seconds then hide"); 
 

 
    setTimeout(hidePopup, 3000); 
 

 
} 
 

 
function hidePopup() { 
 

 
    document.getElementById("disclaimer").style.display = "none"; 
 

 
    console.log("wait 3 minutes then show popup again"); 
 

 
    setTimeout(popup, 3 * 60 * 1000); 
 

 
}
<div id='disclaimer'>Disclaimer Div</div>

+0

これは最高の答えです。受け入れてください – Todd

0

をお試しください

var dis_div = document.getElementById("disclaimer"); 
 
function init_disclaimer() { 
 
    if (dis_div.style.display == "block"){ 
 
    dis_div.style.display = "none" 
 
    } 
 
    else { 
 
    dis_div.style.display = "block" 
 
    } 
 
} 
 
inter=setInterval(init_disclaimer,500)
<div id="disclaimer">Disclaimer 
 
</div>

関連する問題