Time Lapse Code Display
JavaScriptCode Snippets
How to display a popup once a day or once a week using JavaScript. (See Theatre Centre for application)
<script>
let dateLastShown = localStorage.getItem("dateLastShownLive");
if (dateLastShown) {
dateLastShown = new Date(dateLastShown);
}
let todaysDate = new Date();
// simulate todays date to test =)
//todaysDate = new Date("June 4 2023");
// console.log(nWeeks(dateLastShownOld ?? todaysDate, todaysDate));
if (!dateLastShown || nWeeks(dateLastShown ?? todaysDate, todaysDate) >= 1) {
// wait 5 secs and handle showing popup, then run code below:
const donatePopup = document.getElementById('donate-popup');
window.addEventListener('load', () => {
setTimeout(() => {
donatePopup.classList.add('popup-active');
localStorage.setItem("dateLastShownLive", todaysDate);
},5000);
});
const popupClose = document.getElementById('donate-popup-close');
popupClose.addEventListener('click', () => {
donatePopup.classList.remove('popup-active');
});
}
function nWeeks(date1, date2) {
var WEEK = 1000 * 60 * 60 * 24 * 7;
var date1ms = date1.getTime();
var date2ms = date2.getTime();
var diff = Math.abs(date2ms - date1ms);
return Math.floor(diff / WEEK);
}
</script>