我需要在首次加载页面时显示免责声明div,然后在此之后定期显示和隐藏它。每三分钟显示一次是一个很好的时间间隔。
我目前有这段代码
<script>
function popup(){
setTimeout(function(){
document.getElementById("disclaimer").style.display = "block";
},0);
}
function hidePopup(){
document.getElementById("disclaimer").style.display = "none";
}
</script>
然后我需要弹出窗口在大约3分钟的时间过后再次显示。
答案 0 :(得分:3)
试试这个
//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);
}
&#13;
<div id='disclaimer'>Disclaimer Div</div>
&#13;
答案 1 :(得分:1)
您可以使用setInterval以指定的毫秒间隔异步运行代码。然后使用setTimeout延迟函数,使pop显示一段时间。
//function runs every 3 minutes
setInterval(function(){
//function waits 1 second
setTimeout(function(){
popup();
}, 1000);
hidePopup();
}, 180000);
此函数将每180000毫秒(3分钟)运行一次,并显示1000毫秒(1秒)的弹出窗口。
答案 2 :(得分: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>