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

yizhihongxing

详解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日

相关文章

  • d3.js入门教程之数据绑定详解

    d3.js入门教程之数据绑定详解 什么是d3.js? d3.js全称Data-Driven Documents,是一个非常强大的数据可视化库。使用d3.js可以将数据转化为各种图表、动画和交互式图形。 为什么需要数据绑定? 数据绑定是在d3.js中非常重要的概念,因为它是将数据和元素结合在一起的基础。在d3.js中,元素是表示数据的最终呈现形式。因此,了解如…

    JavaScript 2023年6月10日
    00
  • js contains方法实现代码

    当我们需要在一个字符串中查找特定字符或子串时,可以使用JavaScript提供的 contains() 方法。下面是实现 contains() 方法的代码: String.prototype.contains = function(substr) { return this.indexOf(substr) !== -1; } 这里定义了一个全局方法 Stri…

    JavaScript 2023年5月28日
    00
  • ajax结合mysql数据库和smarty实现局部数据状态的刷新方法

    实现ajax结合MySQL数据库和Smarty实现局部数据状态的刷新方法可以分为以下几个步骤: 在MySQL数据库中创建相关表格,包括存储数据的表格和用户表格(如果需要)。 在Smarty中设置模板文件,然后在Smarty配置文件中设置相关的选项,如目录、模板路径等等。 创建相应的PHP脚本,实现连接MySQL数据库,并通过SQL语句查询所需的数据。 在前端…

    JavaScript 2023年6月11日
    00
  • JS中的Replace方法使用经验分享

    下面是关于“JS中的Replace方法使用经验分享”的攻略: 一、Replace方法的基本用法 Replace方法是JavaScript中内置的字符串处理函数,可以在一个字符串中找到一个指定的文本,并将其替换为另一个指定的文本。 以下是Replace方法的基本语法: string.replace(searchvalue, newvalue) 其中,searc…

    JavaScript 2023年6月10日
    00
  • Javascript Global decodeURIComponent() 函数

    以下是关于JavaScript Global对象中decodeURIComponent()函数的完整攻略,包括两个示例说明。 JavaScript Global对象中的decodeURIComponent()函数 JavaScript Global对象中的decodeURIComponent()函数用于解码一个码过的URI组件字符串。URIUniform R…

    JavaScript 2023年5月11日
    00
  • Javascript闭包演示代码小结

    Javascript闭包演示代码小结 Javascript中的闭包是一个非常重要的概念,许多初学者对此有些困惑,下面是我对闭包的探究过程及代码演示,希望对大家有所帮助。 什么是闭包 闭包是指有权访问另一个函数作用域中的变量的函数。 在Javascript中,函数是第一类对象,可以像普通变量一样传递,所以函数中定义的变量在函数外部也可以访问,但是如果在外部将函…

    JavaScript 2023年6月10日
    00
  • js实现截取某个字符串前面的内容

    让我来详细讲解如何使用JavaScript实现截取某个字符串前面的内容。下面是具体步骤: 1. 使用indexOf()获取关键字的位置 在JavaScript中,我们可以使用indexOf()函数来获取字符串中某个关键字的位置,该函数会返回第一个匹配到的关键字的索引值,如果没有匹配到关键字则返回-1。我们可以利用这个函数来获取关键字在原字符串中的位置,从而确…

    JavaScript 2023年5月28日
    00
  • 一个非常不错的一个正则练习JS版

    下面提供详细的攻略: 什么是正则表达式 正则表达式是一种字符串匹配模式,用于检索、替换和提取字符串中的文本。它可以用特定的语法编写,可以匹配字符串的某些模式,具有处理字符串高级功能的能力。 正则表达式语法 正则表达式语法包括元字符、修饰符和括号。 元字符 元字符是一些特殊字符,它们在正则表达式中具有特殊含义。这些字符可以用来匹配或定位特定的内容或位置,如下表…

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