Is it possible to set an alert message to display at a specific time on a page? i.e 8:10AM display alert on if user is on page /EventStart.html
in site Header
var info = document.getElementById("info");
info.addEventListener("click", ()=>{
cuteAlert({
type: "info",
brand: "linktree",
title: "Link Test",
message: "Hello World",
buttonText: "Okay"
})
})
JS file
function cuteAlert({
type,
title,
message,
buttonText = "OK",
confirmText = "OK",
cancelText = "Cancel",
closeStyle,
}) {
return new Promise((resolve) => {
setInterval(() => {}, 5000);
const body = document.querySelector("body");
const scripts = document.getElementsByTagName("script");
let currScript = "";
for (let script of scripts) {
if (script.src.includes("cute-alert.js")) {
currScript = script;
}
}
let src = currScript.src;
src = src.substring(0, src.lastIndexOf("/"));
let closeStyleTemplate = "alert-close";
if (closeStyle === "circle") {
closeStyleTemplate = "alert-close-circle";
}
let btnTemplate = `
<button class="alert-button ${type}-bg ${type}-btn">${buttonText}</button>
`;
if (type === "question") {
btnTemplate = `
<div class="question-buttons">
<button class="confirm-button ${type}-bg ${type}-btn">${confirmText}</button>
<button class="cancel-button error-bg error-btn">${cancelText}</button>
</div>
`;
}
const template = `
<div class="alert-wrapper">
<div class="alert-frame">
<!-- <div class="alert-header ${type}-bg"> -->
<div class="alert-header">
<span class="${closeStyleTemplate}">X</span>
<img class="alert-img" src="${brand}.png" />
</div>
<div class="alert-body">
<span class="alert-title">${title}</span>
<span class="alert-message">${message}</span>
${btnTemplate}
</div>
</div>
</div>
`;
body.insertAdjacentHTML("afterend", template);
const alertWrapper = document.querySelector(".alert-wrapper");
const alertFrame = document.querySelector(".alert-frame");
const alertClose = document.querySelector(`.${closeStyleTemplate}`);
if (type === "question") {
const confirmButton = document.querySelector(".confirm-button");
const cancelButton = document.querySelector(".cancel-button");
confirmButton.addEventListener("click", () => {
alertWrapper.remove();
resolve("confirm");
});
cancelButton.addEventListener("click", () => {
alertWrapper.remove();
resolve();
});
} else {
const alertButton = document.querySelector(".alert-button");
alertButton.addEventListener("click", () => {
alertWrapper.remove();
resolve();
});
}
alertClose.addEventListener("click", () => {
alertWrapper.remove();
resolve();
});
alertWrapper.addEventListener("click", () => {
alertWrapper.remove();
resolve();
});
alertFrame.addEventListener("click", (e) => {
e.stopPropagation();
});
});
}
const time = date.parse('10 June 2021 00:12:00 GMT') - Date.now();
if (time > 0) {
setInterval(()=>{
//your code here
}, time )
}