如何创建退出意图弹出窗口

您知道尝试关闭浏览器窗口时出现的那些烦人的弹出窗口吗?

他们以某种方式知道您要关闭它,就像他们可以读懂您的想法一样。

实际上,这是一个非常简单的概念,您必须收听特定的DOM事件。

我当然不建议使用弹出窗口,因为我觉得它们很烦人,但是您的公司可能会要求您实现弹出窗口,所以我们来了。

我想保持简单,所以这里是HTML

<!doctype html>
<head>
  <title>Popup page</title>
</head>
<body>
  <div id="popup">
    <h3>Popup!</h3>
  </div>
</body>

添加此CSS:

body {
  font-family: system-ui;
  background-color: #f6d198;
}

#popup { position: fixed; width: 100%; visibility: hidden; z-index: 10002; top: 0; opacity: 0; transform: scale(0.5); transition: transform 0.2s, opacity 0.2s, visibility 0s 0.2s; position: relative; margin: 0 auto; text-align: center; box-shadow: 0 1px 10px rgba(0, 0, 0, 0.5); width: 60%; background: #862a5c; padding-bottom: 100px; padding-top: 50px; color: #fff; font-size: 2rem; }

和这个JavaScript:

const show = () => {
  const element = document.querySelector("#popup")
  element.style.visibility = "visible"
  element.style.opacity = "1"
  element.style.transform = "scale(1)"
  element.style.transition = "0.4s, opacity 0.4s"
}

document.addEventListener(“DOMContentLoaded”, () => { document.addEventListener(“mouseout”, (event) => { if (!event.toElement && !event.relatedTarget) { setTimeout(() => { show() }, 1000) } }) })

在Codepen中查看:

看笔退出意图弹出窗口,实现简单由Flavio Copes(@flaviocopes) 在密码笔

Tech Wiki Online!