当前位置:首页 > 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实现倒计时

js实现倒计时

实现倒计时的基本方法 使用 JavaScript 实现倒计时功能可以通过 setInterval 或 setTimeout 结合日期计算来完成。以下是几种常见的实现方式: 使用 setInterv…

js实现复制到剪贴板

js实现复制到剪贴板

使用document.execCommand方法(传统方式,已废弃但部分浏览器仍支持) 该方法适用于旧版浏览器,但已被标记为废弃。执行前需确保文本已被选中: function copyToClipb…

js实现瀑布流

js实现瀑布流

实现瀑布流布局 瀑布流布局是一种常见的网页布局方式,常用于图片展示、商品列表等场景。以下是使用 JavaScript 实现瀑布流布局的几种方法。 纯 JavaScript 实现 通过计算元素的位置…

js实现vr

js实现vr

使用WebXR API实现VR体验 WebXR是浏览器中实现VR和AR体验的标准API,它取代了早期的WebVR。现代浏览器如Chrome、Edge和Firefox已支持WebXR。 // 初始化W…

js实现投球

js实现投球

实现投球动画的基本思路 使用JavaScript和CSS动画结合的方式模拟投球效果。核心是通过改变元素的位置、旋转和缩放属性,配合定时器或CSS过渡实现平滑动画。 创建基础HTML结构 <d…

js实现交换

js实现交换

交换变量的方法 在JavaScript中,交换两个变量的值有多种方法。以下是常见的几种实现方式: 使用临时变量 通过引入一个临时变量来存储其中一个变量的值,实现交换: let a = 1;…