详解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添加控件自定义属性解析

    下面是一份关于用JavaScript添加控件自定义属性解析的攻略: 自定义属性 在HTML标签中,我们可以添加自己的属性,这些属性也被称为自定义属性。这些自定义属性一般不会被浏览器识别和解析,但是在JavaScript中,我们可以通过getAttribute和setAttribute方法来获取和设置这些自定义属性的值,从而实现一些我们想要的效果。 添加自定义…

    JavaScript 2023年6月10日
    00
  • 详解JavaScript中循环控制语句的用法

    详解JavaScript中循环控制语句的用法 在JavaScript中,循环控制语句是非常常用的语句之一。它可以帮助我们更加方便快捷地进行重复处理的操作。下面,我们就来详细讲解一下JavaScript中的循环控制语句。 JavaScript中几种常见的循环控制语句 JavaScript中常见的循环控制语句有三种:for、while、do while。 for…

    JavaScript 2023年5月27日
    00
  • d3.js入门教程之数据绑定详解

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

    JavaScript 2023年6月10日
    00
  • JS前端使用canvas实现物体的点选示例

    下面是“JS前端使用canvas实现物体的点选示例”的完整攻略: 简介 本攻略旨在帮助JS前端开发者使用canvas实现物体的点选功能。点选,即用户点击鼠标后能够判断该处是否落在某个物体上,从而实现交互操作。 准备 在开始编写代码前,需要准备以下工具和材料:- 编辑器:Visual Studio Code、Sublime Text、Atom等- 浏览器:Ch…

    JavaScript 2023年5月28日
    00
  • 你可能不知道的JavaScript位运算符详解

    你可能不知道的JavaScript位运算符详解 介绍 在JavaScript中,除了常用的加减乘除运算符,还有一些位运算符。这些运算符可以对给定的数字进行二进制位操作。本文将为你详细讲解这些运算符。 位运算符分类 JavaScript中一共有7种位运算符,可以分为以下几类: 按位与运算符(&) 按位或运算符(|) 按位异或运算符(^) 左移运算符(&…

    JavaScript 2023年5月28日
    00
  • JS中彻底删除JSON对象组成的数组中的元素

    删除JSON对象组成的数组中的元素可以使用数组的splice方法,该方法可以删除数组中指定位置的元素,并且会修改原数组。以下是彻底删除JSON对象组成的数组中的元素的步骤: 找到要删除的JSON对象在数组中的位置 可以使用数组的indexOf方法来找到要删除的JSON对象在数组中的位置,例如: “`javascriptvar arr = [ {name: …

    JavaScript 2023年5月27日
    00
  • 一个不错的js html页面倒计时可精确到秒

    下面是“一个不错的JS HTML页面倒计时可精确到秒”的完整攻略。 1.准备工作 首先,要获取当前时间和未来的结束时间,并计算出两者之间的时间间隔。为了完成这个任务,我们需要使用JavaScript中的Date对象。 // 获取当前时间 var now = new Date(); // 获取未来结束时间 var end = new Date(‘2021/12…

    JavaScript 2023年5月27日
    00
  • asp.net+ajax的Post请求实例

    下面是关于“ASP.NET+Ajax的post请求实例”的攻略。 什么是Ajax? Ajax(Asynchronous JavaScript and XML)是一种用于创建 Web 应用的技术。它可以让浏览器不重新加载整个页面的情况下,动态地更新页面上的一部分内容。使用 Ajax 技术可以使网页更加流畅和响应。 什么是ASP.NET? ASP.NET 是一种…

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