2016-10-29 3 views
0

Мне нужно, чтобы divlaimer div появлялся, когда страница сначала загружалась, а затем показывала и спрятала ее через регулярные промежутки времени после этого. Показ его каждые три минуты будет хорошим интервалом времени.Показывать всплывающее окно при загрузке страницы, а затем показывать и скрыть его с регулярными временными интервалами

настоящее время у меня этот код

<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

Попробуйте

//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

Вот как я бы сделал это с одной функцией только

фрагмент 1 (изменение интервала времени на то, сколько секунд, если это необходимо)

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>

Смежные вопросы