JavaScript 消息框效果【实现代码】

yizhihongxing

JavaScript 消息框效果指的是在网页中弹出一些提示信息的效果,通常包括警告、确认、提示等类型。以下是实现该效果的完整攻略。

1. HTML 结构和样式

首先,我们需要创建 HTML 结构和样式,来实现弹出框的界面。以下是一个简单的 HTML 结构:

<div class="modal">
  <div class="modal-dialog">
    <div class="modal-content">
      <div class="modal-header">
        <h5 class="modal-title"></h5>
        <button type="button" class="close" data-dismiss="modal">
          <span>&times;</span>
        </button>
      </div>
      <div class="modal-body"></div>
      <div class="modal-footer">
        <button type="button" class="btn btn-secondary" data-dismiss="modal">取消</button>
        <button type="button" class="btn btn-primary">确定</button>
      </div>
    </div>
  </div>
</div>

这个 HTML 结构包括了一个弹出框的所有元素,包括标题、内容、按钮等。为了让弹出框样式更美观,我们可以使用 Bootstrap 提供的样式:

<link rel="stylesheet" href="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/4.5.3/css/bootstrap.min.css">

2. JavaScript 代码

接下来,我们需要编写 JavaScript 代码来实现弹出框的功能。以下是实现弹出框的主要函数:

function showAlert(title, message, callback) {
  // 创建弹出框元素
  var modal = createElement('div', {
    className: 'modal fade',
    id: 'alertModal',
    tabindex: '-1',
    role: 'dialog',
    'aria-labelledby': 'alertModalLabel',
    'aria-hidden': 'true',
  });

  var modalDialog = createElement('div', { className: 'modal-dialog' });
  modal.appendChild(modalDialog);

  var modalContent = createElement('div', { className: 'modal-content' });
  modalDialog.appendChild(modalContent);

  // 创建弹出框头部
  var modalHeader = createElement('div', { className: 'modal-header' });
  modalContent.appendChild(modalHeader);

  var closeButton = createElement('button', {
    type: 'button',
    className: 'close',
    'data-dismiss': 'modal',
    'aria-label': 'Close',
  }, '<span aria-hidden="true">&times;</span>');
  modalHeader.appendChild(closeButton);

  var modalTitle = createElement('h5', { className: 'modal-title' }, title);
  modalHeader.appendChild(modalTitle);

  // 创建弹出框内容
  var modalBody = createElement('div', { className: 'modal-body' }, message);
  modalContent.appendChild(modalBody);

  // 创建弹出框底部
  var modalFooter = createElement('div', { className: 'modal-footer' });
  modalContent.appendChild(modalFooter);

  var cancelButton = createElement('button', {
    type: 'button',
    className: 'btn btn-secondary',
    'data-dismiss': 'modal',
  }, '取消');
  modalFooter.appendChild(cancelButton);

  var okButton = createElement('button', {
    type: 'button',
    className: 'btn btn-primary',
    'data-dismiss': 'modal',
  }, '确定');
  modalFooter.appendChild(okButton);

  // 将弹出框元素插入到 DOM 中
  document.body.appendChild(modal);

  // 注册确定按钮的事件处理函数
  okButton.addEventListener('click', function() {
    if (callback) {
      callback();
    }
  });

  // 显示弹出框
  $('#' + modal.id).modal('show');
}

function createElement(tagName, attributes, content) {
  var element = document.createElement(tagName);
  for (var attr in attributes) {
    element.setAttribute(attr, attributes[attr]);
  }
  if (content) {
    element.innerHTML = content;
  }
  return element;
}

这个函数的作用是创建一个弹出框,显示指定的标题和内容,并提供取消和确定按钮。具体实现的过程如下:

  • 首先,使用 createElement 函数创建出弹出框的各个元素,包括弹出框本身、头部、内容、底部等。
  • 然后,将弹出框的元素插入到页面的 DOM 中。
  • 最后,注册确定按钮的点击事件处理函数,当用户点击确定按钮时,调用回调函数。

为了方便使用,可以将 showAlert 函数封装成多个不同类型的函数,如提示、确认和警告等。

以下是两个示例,分别演示如何以弹出框的方式显示提示信息和确认信息:

function showConfirm(title, message, okFn, cancelFn) {
  showAlert(title, message, function() {
    if (okFn) {
      okFn();
    }
  });

  var cancelButton = document.querySelector('#alertModal .modal-footer button:nth-child(1)');
  if (cancelButton) {
    cancelButton.addEventListener('click', function() {
      if (cancelFn) {
        cancelFn();
      }
    });
  }
}

function showAlertMessage(message) {
  showAlert('提示', message);
}

可以看到,调用 showConfirm 函数时,会显示一个带有取消和确定按钮的弹出框,并提供两个回调函数。当用户点击确定按钮时,会调用 okFn 函数,同时关闭弹出框;当用户点击取消按钮时,会调用 cancelFn 函数,并关闭弹出框。而调用 showAlertMessage 函数时,只会显示一个带有“提示”标题的弹出框,并显示指定的提示信息。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JavaScript 消息框效果【实现代码】 - Python技术站

(0)
上一篇 2023年6月11日
下一篇 2023年6月11日

相关文章

  • 原生JS封装Ajax插件(同域、jsonp跨域)

    下面就来详细讲解一下如何用原生JS封装Ajax插件,支持同域和jsonp跨域请求。 1. 目标功能 我们的目标是封装一个通用的 Ajax 插件,能够支持同域和跨域请求(使用 Jsonp 技术),并兼容各种浏览器。 根据我们的需求,我们需要实现以下两个功能: 发送 HTTP 请求并获取返回数据。 支持跨域请求。 2. 发送 HTTP 请求并获取返回数据 我们需…

    JavaScript 2023年5月27日
    00
  • JavaScript中的细节分析

    在JavaScript中,有些细节需要特别注意,否则可能会导致程序出现意外的结果。下面是JavaScript中的细节分析的完整攻略: 1. 变量提升 在JavaScript中,变量声明会被“提升”到当前作用域的顶部,但是变量赋值并不会被提升。例如: console.log(a); // undefined var a = 1; 上面的代码中,变量a被声明了,…

    JavaScript 2023年5月18日
    00
  • javascript ES6 新增了let命令使用介绍

    JavaScript ES6 新增了let命令使用介绍 在ES6之前,JavaScript中定义变量只有两种方式:var 和 window.xxx;ES6新增了let和const命令,增加了JavaScript定义变量的方式,let命令用于声明一个只在代码块内部可用的变量。 let命令基本用法 let 命令的用法与 var 完全相同,可以使用 let 命令声…

    JavaScript 2023年6月11日
    00
  • javaScript中一些常见的数据类型检查校验

    下面是关于JavaScript中常见的数据类型检查校验的详细攻略。 概述 在JavaScript中,我们经常需要检查或校验数据类型,以确保我们的代码可以正确地处理各种数据。在做这些操作时,需要了解JavaScript中几种常见的数据类型,以及如何进行类型检查和校验。 常见的数据类型 以下是JavaScript中几种常见的数据类型: 字符串 字符串是一系列字符…

    JavaScript 2023年6月10日
    00
  • JavaScript相等运算符的九条规则示例详解

    当我们在编写JavaScript代码时,常常需要判断两个变量是否相等,这时候就需要使用相等运算符,即==和===。但是,由于JavaScript的这两种相等运算符在使用时存在很多陷阱和特殊情况,所以需要我们特别注意。以下是详细的JavaScript相等运算符的九条规则和示例详解。 规则一:如果两个变量类型不同,则不相等 例如,以下代码的输出结果为false:…

    JavaScript 2023年5月28日
    00
  • JavaScript防止表单重复提交的方法

    针对JavaScript防止表单重复提交的方法,下面我将为您详细说明相关攻略。 1. 前置知识 在介绍防止表单重复提交的方法之前,你需要掌握一下几个前置知识: 1.1 同步和异步 同步和异步是指程序在执行任务的时候,是否等待上一个任务执行完毕。同步任务会等待上一个任务执行完成,而异步任务则不会阻塞程序的执行。 1.2 发送Ajax请求 Ajax是异步Java…

    JavaScript 2023年6月10日
    00
  • Bootstrap 表单验证formValidation 实现远程验证功能

    这里是详细讲解“Bootstrap 表单验证formValidation 实现远程验证功能”的完整攻略: 什么是 Bootstrap 表单验证 formValidation Bootstrap 表单验证 formValidation 是一种基于 jQuery 和 Bootstrap 的前端表单验证插件,它可以帮助开发者实现对表单数据的合法性检查。与其他前端表…

    JavaScript 2023年6月10日
    00
  • Swift的函数式编程详解

    Swift的函数式编程详解 什么是函数式编程 函数式编程(Functional Programming)是一种编程范式,在函数式编程中,函数是一等公民,函数可以作为参数传递给另一个函数,也可以作为返回值返回。函数式编程强调构建无副作用的函数,可变状态(Mutable State)被限制或者禁止,这样可以避免程序因为状态引发的各种问题。 Swift中通过高阶函…

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