当前位置:首页 > JavaScript

js 实现弹窗

2026-02-02 08:37:03JavaScript

使用 alert 方法实现简单弹窗

alert 是浏览器内置的弹窗方法,用于显示一条消息和一个确认按钮。

alert('这是一个简单的弹窗');

使用 confirm 方法实现确认弹窗

confirm 弹窗包含消息、确认和取消按钮,返回布尔值(确认为 true,取消为 false)。

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

使用 prompt 方法实现输入弹窗

prompt 弹窗允许用户输入内容,返回输入的字符串(取消则返回 null)。

const userInput = prompt('请输入您的名字:');
if (userInput !== null) {
    console.log('用户输入:', userInput);
}

自定义 HTML 弹窗

通过 HTML 和 CSS 创建更灵活的弹窗,结合 JavaScript 控制显示/隐藏。

HTML 结构

<div id="customModal" class="modal">
    <div class="modal-content">
        <span class="close">&times;</span>
        <p>这是一个自定义弹窗</p>
    </div>
</div>

CSS 样式

.modal {
    display: none;
    position: fixed;
    z-index: 1;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
}
.modal-content {
    background-color: #fff;
    margin: 15% auto;
    padding: 20px;
    width: 50%;
}
.close {
    float: right;
    cursor: pointer;
}

JavaScript 控制逻辑

const modal = document.getElementById('customModal');
const closeBtn = document.querySelector('.close');

// 显示弹窗
function showModal() {
    modal.style.display = 'block';
}

// 关闭弹窗
closeBtn.addEventListener('click', () => {
    modal.style.display = 'none';
});

// 点击弹窗外部关闭
window.addEventListener('click', (event) => {
    if (event.target === modal) {
        modal.style.display = 'none';
    }
});

使用第三方库(如 SweetAlert)

SweetAlert 提供美观且功能丰富的弹窗,需引入库文件后调用。

引入 SweetAlert

<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>

示例代码

js 实现弹窗

Swal.fire({
    title: '提示',
    text: '操作成功!',
    icon: 'success',
    confirmButtonText: '确定'
});

注意事项

  • 浏览器原生弹窗(alertconfirmprompt)会阻塞页面交互,建议谨慎使用。
  • 自定义弹窗或第三方库更适合复杂场景,提供更好的用户体验。

标签: js
分享给朋友:

相关文章

js实现

js实现

实现 JavaScript 功能的方法 在 JavaScript 中实现特定功能通常涉及多个步骤。以下是常见的实现方法: 基础语法和变量声明 使用 let 或 const 声明变量: let co…

js分组实现

js分组实现

分组实现方法 在JavaScript中,可以通过多种方式实现数组或对象的分组操作。以下是几种常见的方法: 使用Array.prototype.reduce() 通过reduce方法可以轻松实现数组分…

js实现预览

js实现预览

文件上传预览实现 使用JavaScript实现文件上传预览功能,可以通过FileReader对象读取文件内容并显示预览。以下代码支持图片、文本和PDF文件的预览: // HTML部分需要包含inpu…

链表实现js

链表实现js

链表的基本概念 链表是一种线性数据结构,由一系列节点组成,每个节点包含数据和一个指向下一个节点的指针(单向链表)或两个指针(双向链表)。与数组不同,链表在内存中非连续存储,插入和删除操作更高效,但随机…

js实现交换

js实现交换

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

js实现视口

js实现视口

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