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

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日

相关文章

  • JavaScript设计模式—单例模式详解【四种基本形式】

    JavaScript设计模式—单例模式详解【四种基本形式】 单例模式是一种常用的设计模式,它是指在整个应用程序中只需要实例化一次的类。在JavaScript中,单例模式具有着特殊的意义。因为JavaScript是一种无状态语言,每次请求网页都会加载一次JavaScript文件,如果我们没使用单例模式来管理,可能会在内存中生成多个对象实例,造成资源的浪费,…

    JavaScript 2023年6月10日
    00
  • js正则表达式之RegExp对象属性lastIndex,lastMatch,lastParen,lastContext,rightContext属性讲解

    JS正则表达式之RegExp对象属性讲解 正则表达式是在JS中使用广泛的,通过JS中的RegExp对象可以进行正则表达式的匹配和操作。在RegExp对象中,提供了许多有用的属性来帮助获取和处理匹配结果。其中包括lastIndex,lastMatch,lastParen,lastContext和rightContext属性。 lastIndex属性 lastI…

    JavaScript 2023年6月10日
    00
  • JS Common 2 之比较常用到的函数

    JS Common 2 之比较常用到的函数 在JavaScript中,有一些函数几乎在每个项目中都会用到,这些函数涵盖了数组、字符串等数据类型的处理,本文将对这些函数进行详细讲解。 Array.prototype.map() 定义 map()方法创建一个新数组,其结果是该数组中的每个元素都调用一个提供的函数后返回的结果。 语法 array.map(callb…

    JavaScript 2023年6月10日
    00
  • js实现删除json中指定的元素

    下面是如何实现删除JSON中指定元素的攻略: 1. 找到要删除的元素 在删除JSON中指定元素时,首先要找到要删除的元素。我们可以使用JavaScript的filter()或splice()方法来操作JSON对象。 利用filter()方法: let data = [ {id: 1, name: ‘Alice’}, {id: 2, name: ‘Bob’},…

    JavaScript 2023年5月27日
    00
  • Javascript Array concat 方法

    以下是关于JavaScript Array concat方法的完整攻略。 JavaScript Array concat方法 JavaScript Array concat方法用于将两个或多个数组合并成一个新数组。该方法不会改变原始数组,而是返回一个新的数组。 下面是一个使用concat方法的示例: var arr1 = [1, 2, 3]; var arr…

    JavaScript 2023年5月11日
    00
  • 用函数式编程技术编写优美的 JavaScript_ibm

    用函数式编程技术编写优美的 JavaScript – 完整攻略 函数式编程是一种将计算机程序视为数学函数的编程范式。在这种编程方式下,函数被视为是数据流变换的原子操作,程序的执行就是一个函数接受输入并返回输出的过程。由于函数式编程减少了状态变量的使用,可以使得代码更加简洁、易读、易维护。 在 JavaScript 中,函数式编程几乎可以应用于所有方面。本文将…

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

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

    JavaScript 2023年5月28日
    00
  • JavaScript中获取HTML元素值的三种方法

    当我们在编写 JavaScript 代码时,常常需要获取 HTML 元素的值。下面介绍三种常见的方法来获取 HTML 元素的值。 1. 使用 document.getElementById() 方法 document.getElementById() 方法是用来获取指定 id 的元素的,然后我们可以使用 value 属性获取元素的值。示例代码如下: // H…

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