Javascript 显示警报在一天中的设定时间向页面发出警报
是否可以将警报消息设置为在页面上的特定时间显示?i、 e上午8:10如果用户在页面Javascript 显示警报在一天中的设定时间向页面发出警报,javascript,jquery,twitter-bootstrap,alert,toast,Javascript,Jquery,Twitter Bootstrap,Alert,Toast,是否可以将警报消息设置为在页面上的特定时间显示?i、 e上午8:10如果用户在页面/EventStart.html 站点标题中的 var info = document.getElementById("info"); info.addEventListener("click", ()=>{ cuteAlert({ type: "info", brand: "linktree",
/EventStart.html
站点标题中的
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();
});
});
}
函数cuteAlert({
类型,
标题
消息
buttonText=“确定”,
confirmText=“确定”,
cancelText=“取消”,
封闭式,
}) {
返回新承诺((解决)=>{
setInterval(()=>{},5000);
const body=document.querySelector(“body”);
const scripts=document.getElementsByTagName(“脚本”);
让currScript=“”;
for(让脚本中的脚本){
if(script.src.includes(“cute alert.js”)){
currScript=脚本;
}
}
设src=currScript.src;
src=src.substring(0,src.lastIndexOf(“/”);
让closeStyleTemplate=“警报关闭”;
如果(闭合样式==“圆形”){
closeStyleTemplate=“警报关闭循环”;
}
让btn示例=`
${buttonText}
`;
如果(类型=“问题”){
btnTemplate=`
${confirmText}
${cancelText}
`;
}
常量模板=`
X
${title}
${message}
${btnTemplate}
`;
body.insertAdjacentHTML(“afterend”,模板);
const alertWrapper=document.querySelector(“.alert wrapper”);
const alertFrame=document.querySelector(“.alertFrame”);
const alertClose=document.querySelector(`.${closeStyleTemplate}`);
如果(类型=“问题”){
const confirButton=document.querySelector(“.confirm按钮”);
const cancelButton=document.querySelector(“.cancel button”);
confirButton.addEventListener(“单击”,()=>{
alertWrapper.remove();
决议(“确认”);
});
cancelButton.addEventListener(“单击”,()=>{
alertWrapper.remove();
解决();
});
}否则{
const alertButton=document.querySelector(“.alert button”);
alertButton.addEventListener(“单击”,()=>{
alertWrapper.remove();
解决();
});
}
alertClose.addEventListener(“单击”,()=>{
alertWrapper.remove();
解决();
});
alertWrapper.addEventListener(“单击”,()=>{
alertWrapper.remove();
解决();
});
alertFrame.addEventListener(“单击”,(e)=>{
e、 停止传播();
});
});
}
使用窗口计时器可以采取几种方法。你试过什么?谢谢,这很有效。我需要从我的原始代码中删除addEventLister(“单击…”),但总的来说,这是一个很好的起点。
const time = date.parse('10 June 2021 00:12:00 GMT') - Date.now();
if (time > 0) {
setInterval(()=>{
//your code here
}, time )
}