详解JavaScript实现JS弹窗的三种方式

详解JavaScript实现JS弹窗的三种方式

前言

在网页开发中,经常会用到弹窗这个功能。弹窗可以用来展示一些重要信息、提醒用户进行操作,甚至用来进行登录等相关操作。本文将详细介绍 JavaScript 实现三种 JS 弹窗的方式。

方式一:原生 JavaScript 实现

原生 JavaScript 实现弹窗的方式主要使用 window.alert()window.confirm()window.prompt() 这三个方法实现。

1. window.alert()

window.alert("这是一个 alert 弹窗");

以上代码可以创建一个带有 OK 按钮的弹窗,点击 OK 按钮后弹窗会自动关闭。window.alert() 方法可以用于提醒用户一些信息。

2. window.confirm()

if(window.confirm("你确定要删除这个文件吗?")){
    // 用户点击确定按钮
} else {
    // 用户点击取消按钮
}

以上代码可以创建一个带有确定和取消按钮的弹窗,如果用户点击确定按钮,程序的执行会跳转到 if 语句的代码块中,否则跳转到 else 语句的代码块中。

3. window.prompt()

var userName = window.prompt("请输入您的名字:");
if (userName != null){
    document.write("你好," + userName + "!");
}

以上代码可以创建一个带有输入框、确定和取消按钮的弹窗。当用户点击确定按钮时,弹窗会返回输入框中的内容。

方式二:使用第三方插件

除了原生 JavaScript 实现外,还可以使用一些第三方插件实现弹窗的效果。其中比较常见的插件有 jQuery UI、SweetAlert、layer 等。

1. jQuery UI

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>jQuery UI 弹窗</title>
    <link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
    <script src="//code.jquery.com/jquery-1.12.4.js"></script>
    <script src="//code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
</head>
<body>

<div id="dialog" title="Basic dialog">
  <p>This is an example of a basic modal dialog.</p>
</div>

<script>
$( "#dialog" ).dialog();
</script>

</body>
</html>

使用 jQuery UI 实现弹窗需要引入 jQuery 和 jQuery UI 的库文件,并在代码中指定弹窗的标题、内容等相关参数。

2. SweetAlert

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>SweetAlert 弹窗实例</title>
  <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/sweetalert2@10.8.0/dist/sweetalert2.min.css">
</head>
<body>

  <button onclick="showAlert()">SweetAlert 弹窗</button>

  <script src="https://cdn.jsdelivr.net/npm/sweetalert2@10.8.0/dist/sweetalert2.min.js"></script>
  <script>
    function showAlert() {
      Swal.fire({
        title: '警告',
        text: '你确认要删除这条数据吗?',
        icon: 'warning',
        showCancelButton: true,
        cancelButtonText: "取消",
        confirmButtonColor: '#3085d6',
        cancelButtonColor: '#d33',
        confirmButtonText: '确定'
      }).then((result) => {
        if (result.isConfirmed) {
          Swal.fire(
            '已删除!',
            '你的数据已被删除。',
            'success'
          )
        }
      })
    }
  </script>

</body>
</html>

使用 SweetAlert 实现弹窗需要引入 SweetAlert 的库文件,并在代码中指定弹窗的标题、内容、图标等相关参数。与 jQuery UI 不同,SweetAlert 的弹窗样式更为美观。

方式三:使用 CSS 实现

除了 JavaScript 和第三方插件实现弹窗外,还可以使用 CSS 和 HTML 实现弹窗的效果。

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>CSS 实现弹窗</title>
<style type="text/css">
    .dialog_box{
        background-color: #fff;
        border: 1px solid #ccc;
        border-radius: 5px;
        box-shadow: 0px 0px 5px #ccc;
        width: 300px;
        height: 200px;
        position: absolute;
        left: 0; right: 0; top: 0; bottom: 0;
        margin: auto;
        padding: 10px;
        text-align: center;
    }
    .mask{
        width: 100%;
        height: 100%;
        background-color: rgba(0,0,0,0.5);
        position: fixed;
        top: 0; left: 0; right: 0; bottom: 0;
        z-index: 100;
        display: none;
    }
    .dialog_box h1{
        font-size: 20px;
        margin-top: 20px;
    }
    .dialog_box button{
        width: 60px;
        margin-top: 30px;
        height: 30px;
    }
</style>
</head>
<body>

<div class="mask"></div>

<div class="dialog_box">
    <h1>欢迎使用弹窗</h1>
    <button onclick="hideDialog()">关闭</button>
</div>

<script>
    function showDialog(){
        document.querySelector('.mask').style.display='block';
        document.querySelector('.dialog_box').style.display='block';
    }
    function hideDialog(){
        document.querySelector('.mask').style.display='none';
        document.querySelector('.dialog_box').style.display='none';
    }
</script>

<button onclick="showDialog()">CSS 弹窗</button>

</body>
</html>

使用 CSS 实现弹窗需要先定义弹窗的样式,再使用 JavaScript 控制弹窗的显示和隐藏。

结束语

以上就是三种实现 JS 弹窗的方式。通过选择不同的方式可以实现不同的效果,读者可以根据自己的需求选择合适的方式。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解JavaScript实现JS弹窗的三种方式 - Python技术站

(0)
上一篇 2023年5月18日
下一篇 2023年5月18日

相关文章

  • 详解JavaScript对Date对象的操作问题(生成一个倒数7天的数组)

    生成一个倒数7天的数组,可以通过JavaScript中的Date对象来实现。 了解Date对象以及getDate、setDate方法 Date对象是JavaScript中处理日期和时间的核心对象。我们可以利用它来获取当前日期和时间,以及进行各种日期和时间的计算和操作。 Date对象提供了许多方法来获取和设置日期的各个部分。其中,getDate和setDate…

    JavaScript 2023年6月10日
    00
  • AJAX简单测试代码实例

    下面我详细讲解一下“AJAX简单测试代码实例”的完整攻略。 AJAX简单测试代码实例 AJAX概述 AJAX(Asynchronous JavaScript And XML)即异步的JavaScript与XML技术。它允许web页面异步地更新部分内容,从而避免了页面全部刷新,提升了用户体验。 AJAX原理 AJAX是通过XMLHttpRequest对象实现的…

    JavaScript 2023年6月11日
    00
  • 详解js中Json的语法与格式

    下面是详解“详解js中Json的语法与格式”的完整攻略。 什么是 JSON JSON(Javascript Object Notation)是一种轻量级的数据交换格式,在前端开发中广泛应用。它基于JavaScript对象语法,但是可以被用于保存和交换任何类型的数据。 JSON 的语法 JSON的语法非常简洁,只有两种结构:对象(Object)和数组(Arra…

    JavaScript 2023年5月27日
    00
  • Javascript生成json的函数代码(可以用php的json_decode解码)

    生成 JSON 格式的数据通过 JavaScript 来实现,通常使用 JSON.stringify() 方法。该方法接受一个 JavaScript 对象或数组作为参数,返回 JSON 字符串。 下面是生成 JSON 格式数据的示例代码: const data = { name: "your name", age: 18, gender:…

    JavaScript 2023年5月19日
    00
  • javascript生成/解析dom的CDATA类型的字段的代码

    要生成/解析包含CDATA类型的字段,我们需要使用Javascript中的 DOM 操作。下面是生成CDATA类型字段的完整攻略: 生成CDATA类型字段的代码 步骤1:创建一个包含CDATA类型字段的元素 我们可以使用 Document.createElement() 方法创建一个新的元素,然后使用 Document.createCDATASection(…

    JavaScript 2023年6月10日
    00
  • Javascript Date getUTCHours() 方法

    以下是关于JavaScript Date对象的getUTCHours()方法的完整攻略,包括两个示例说明。 JavaScript Date对象的getUTCHours()方法 JavaScript Date对象getUTCHours()方法返回当前日期的小时数,以协调世界(UTC)为基准。返回值是一个0到23之间的整数下面是使用Date对象的getUTCHo…

    JavaScript 2023年5月11日
    00
  • 4个顶级JavaScript高级文本编辑器

    下面我将为您详细讲解“4个顶级JavaScript高级文本编辑器”的完整攻略。 1. Quill Quill 是一款非常优秀的富文本编辑器,它比其他编辑器更加轻量且易于使用。您只需引入它的 JavaScript 文件并将一个 DIV 元素初始化为 Quill 编辑器即可。Quill 可以处理所有的基本文本格式,如粗体、斜体、下划线等,并支持插入图像、表格、视…

    JavaScript 2023年5月19日
    00
  • JavaScript 实现HTML DOM增删改查操作的常见方法详解

    JavaScript 实现HTML DOM增删改查操作的常见方法详解 1. DOM简介 DOM全称“Document Object Model”,中文翻译为文档对象模型,是一种对文档结构化的方式表达,即将文档中的每一个元素都抽象成为一个对象,便于JavaScript等脚本语言进行操作。 DOM是Web页面的编程接口,可以使用JavaScript、VBScri…

    JavaScript 2023年6月10日
    00
合作推广
合作推广
分享本页
返回顶部