在一天中的设定时间向页面显示警报
Display alert an alert to a page at a set Time of day
是否可以将提醒消息设置为在特定时间显示在页面上?即 8:10AM 如果用户在页面 /EventStart.html
上显示警报
在站点 Header
var info = document.getElementById("info");
info.addEventListener("click", ()=>{
cuteAlert({
type: "info",
brand: "linktree",
title: "Link Test",
message: "Hello World",
buttonText: "Okay"
})
})
JS文件
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 )
}
是否可以将提醒消息设置为在特定时间显示在页面上?即 8:10AM 如果用户在页面 /EventStart.html
在站点 Header
var info = document.getElementById("info");
info.addEventListener("click", ()=>{
cuteAlert({
type: "info",
brand: "linktree",
title: "Link Test",
message: "Hello World",
buttonText: "Okay"
})
})
JS文件
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 )
}