当前位置:首页 > JavaScript

js实现弹框

2026-01-16 12:18:05JavaScript

使用 alert 实现简单弹框

JavaScript 的 alert 方法可以直接显示一个简单的弹框,内容为纯文本:

alert("这是一个简单的弹框");

使用 confirm 实现确认弹框

confirm 弹框会显示“确定”和“取消”按钮,返回布尔值:

const isConfirmed = confirm("确认执行此操作吗?");
if (isConfirmed) {
    console.log("用户点击了确定");
} else {
    console.log("用户点击了取消");
}

使用 prompt 实现输入弹框

prompt 弹框允许用户输入内容,返回输入的字符串或 null

js实现弹框

const userInput = prompt("请输入您的名字", "默认值");
if (userInput !== null) {
    console.log("输入的内容是:" + userInput);
}

自定义 HTML 弹框

通过 DOM 操作创建自定义弹框,灵活控制样式和交互:

<div id="customModal" style="display: none; position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); background: white; padding: 20px; border: 1px solid #ccc;">
    <p>这是一个自定义弹框</p>
    <button onclick="closeModal()">关闭</button>
</div>

<script>
function showModal() {
    document.getElementById("customModal").style.display = "block";
}
function closeModal() {
    document.getElementById("customModal").style.display = "none";
}
</script>
<button onclick="showModal()">打开弹框</button>

使用第三方库(如 SweetAlert)

SweetAlert 提供美观的弹框,支持图标、异步操作等:

js实现弹框

  1. 引入库:
    <script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>
  2. 示例代码:
    Swal.fire({
     title: "成功!",
     text: "操作已完成",
     icon: "success",
     confirmButtonText: "确定"
    });

监听弹框关闭事件

适用于需要回调的场景,如自定义弹框或第三方库:

Swal.fire({
    title: "提示",
    text: "5秒后自动关闭",
    timer: 5000
}).then((result) => {
    if (result.dismiss === Swal.DismissReason.timer) {
        console.log("弹框因超时关闭");
    }
});

弹框动画效果

通过 CSS 添加动画增强用户体验:

.modal-animation {
    animation: fadeIn 0.3s;
}
@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

modal-animation 类添加到自定义弹框元素即可。

以上方法覆盖了从原生到自定义的弹框实现,可根据需求选择合适方案。

标签: js
分享给朋友:

相关文章

js 实现vue

js 实现vue

Vue.js 的基本实现 在 JavaScript 中实现 Vue.js 的核心功能,可以通过数据绑定、响应式系统和虚拟 DOM 来实现。以下是实现 Vue.js 核心功能的简化版本。 数据响应式系…

js 实现链表

js 实现链表

链表的基本概念 链表是一种线性数据结构,由一系列节点组成,每个节点包含数据和指向下一个节点的指针。与数组不同,链表在内存中是非连续存储的,插入和删除操作效率较高。 链表的实现 在 JavaScrip…

js画图实现

js画图实现

使用Canvas API绘制图形 Canvas是HTML5提供的绘图API,通过JavaScript操作Canvas元素可以绘制各种图形。以下是一个简单的示例: <canvas id="myC…

js实现vue路由

js实现vue路由

Vue 路由的基本实现 在 Vue.js 中实现路由功能通常使用 Vue Router 库。Vue Router 是 Vue.js 官方的路由管理器,用于构建单页面应用(SPA)。 安装 Vue R…

js节流实现

js节流实现

节流的概念 节流(Throttle)是一种限制函数执行频率的技术,确保函数在一定时间间隔内只执行一次。常用于滚动事件、窗口调整等高频触发的场景。 基础实现方法 使用时间戳判断是否执行函数: fun…

js实现视口

js实现视口

js实现视口检测的方法 使用JavaScript检测元素是否进入视口(viewport)可以通过Intersection Observer API或手动计算元素位置实现。以下是两种常见方法: Int…