const message = { background: "", // 背景颜色 outside: "", // 外框元素 inside: "", // 信息显示元素 insideSetTime: "", // 信息移除setTime body: "", // body元素 time: 0, // 显示时间 run(msg = "success", type = "success", time = 2000) { // 显示时间 this.time = time; // 背景色 this.background = this.backgroundCheck(type); // body this.body = document.body; // 时间戳id let id = "inside_box" + Date.now(); // 检查是否存在外框 let outsideShow = document.getElementById("message_box_show"); if (outsideShow != null) { // 文字显示区域 this.inside = document.createElement("div"); this.inside.setAttribute("class", "message_box_inside cc-display"); this.inside.setAttribute("id", id); this.inside.style.backgroundColor = this.background; this.inside.innerHTML = `${msg}`; outsideShow.appendChild(this.inside); } else { // 最外框 this.outside = document.createElement("div"); this.outside.setAttribute("id", "message_box_outside"); this.outside.setAttribute("class", "cc-display"); // 中间区域 outsideShow = document.createElement("div"); outsideShow.setAttribute("id", "message_box_show"); // 文字显示区域 this.inside = document.createElement("div"); this.inside.setAttribute("class", "message_box_inside cc-display"); this.inside.setAttribute("id", id); this.inside.style.backgroundColor = this.background; this.inside.innerHTML = `${msg}`; // 显示 outsideShow.appendChild(this.inside); this.outside.appendChild(outsideShow); this.body.appendChild(this.outside); } // 添加监听 this[id] = this.insideTime(this.inside, outsideShow); this.boxShowTime(this.inside, id, outsideShow); }, // 信息显示区域展示 boxShowTime(inside, insideSetTime, outsideShow) { inside.addEventListener("mouseleave", () => { // 离开后设置隐藏时间 this[insideSetTime] = this.insideTime(inside, outsideShow); }); inside.addEventListener("mouseenter", () => { // 清除隐藏设置 clearTimeout(this[insideSetTime]); }); }, // 信息区显示 insideTime(inside, outsideShow) { let insideSetTime = setTimeout(() => { outsideShow.removeChild(inside); }, this.time); return insideSetTime; }, // 判定显示颜色 backgroundCheck(type) { if (type === "success") return "#67C23A"; if (type === "error") return "#F56C6C"; if (type === "warning") return "#E6A23C"; // if (type === 'info') return '#909399'; return "#909399"; // 默认级别 }, }; export default message;