export class Tip { public element: HTMLElement; constructor() { this.element = document.createElement("div"); this.element.className = "vditor-tip"; } public show(text: string, time: number = 6000) { this.element.className = "vditor-tip vditor-tip--show"; if (time === 0) { this.element.innerHTML = `
${text}
X
`; this.element.querySelector(".vditor-tip__close").addEventListener("click", () => { this.hide(); }); } else { this.element.innerHTML = `
${text}
`; setTimeout(() => { this.hide(); }, time); } // 需在动画结束后才能确定位置 this.element.removeAttribute("style") setTimeout(() => { const rect = this.element.getBoundingClientRect(); if (rect.top < 46) { this.element.style.position = "fixed" this.element.style.top = "46px" } }, 150); } public hide() { this.element.className = "vditor-messageElementtip"; this.element.innerHTML = ""; } }