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日

相关文章

  • 作为程序员必须了解的缩写和专业名词

    作为程序员必须了解的缩写和专业名词 作为一名程序员,掌握一些缩写和专业术语是非常重要的,可以帮助我们更快速地理解代码和文档,也能够更好地和同行进行沟通交流。下面是一些必须了解的缩写和专业名词: 常见缩写 API API是Application Programming Interface的缩写, 指的是应用程序编程接口,是一组定义、规范了应用程序中数据和功能的…

    JavaScript 2023年5月28日
    00
  • js基础之DOM中document对象的常用属性方法详解

    让我来为大家详细讲解一下“js基础之DOM中document对象的常用属性方法详解”的攻略。 1.前言 文中所述的javascript版本为ES6,由于部分新特性ES6尚未得到完全支持,因此可能有些内容需要在浏览器中运行才能体现。 2.document对象 2.1 常用属性 document.URL:返回文档完整的URI地址。 document.title:…

    JavaScript 2023年5月27日
    00
  • Javascript 获取字符串字节数的多种方法

    当需要统计字符串字节数时,Javascript提供了多种方法。以下是其中两种常见方法。 方法一:使用正则表达式 正则表达式可以帮助我们获取字符串中非ASCII字符的数量。假设我们要获取的字符串为”hello,世界”,该字符串长度为11,但其中含有一个ASCII字符和一个非ASCII字符(中文逗号“,”),因此其字节数为13。 下面是使用正则表达式实现获取字节…

    JavaScript 2023年5月19日
    00
  • Javascript中eval函数的使用方法与示例

    Javascript中eval函数的使用方法与示例 在 JavaScript 中,eval() 函数用于计算字符串中的 JavaScript 代码,并将其执行。以下是该函数的语法: eval(string) 其中,string 参数是包含要被计算的 JavaScript 代码的字符串。使用 eval() 函数时应谨慎,并确保输入的字符串是可信的,否则可能会发…

    JavaScript 2023年5月27日
    00
  • wasm+js实现文件获取md5示例详解

    “wasm+js实现文件获取md5示例详解”是一个比较复杂的项目,需要包括对wasm和js的理解,以及对md5算法的运用。下面是一个完整的攻略: 1. 项目背景 本项目是一个文件获取md5的示例,在web前端常见的场景中,为了保证文件的完整性或安全性,需要对文件进行md5加密,以此保护文件不被篡改或窃取。而在web前端实现md5加密,需要借助wasm和js的…

    JavaScript 2023年5月27日
    00
  • Android应用开发之代码混淆

    Android 应用开发之代码混淆 1.代码混淆的作用 代码混淆可以将原有 Java 代码反编译成的暴露的对应 Java 原代码格式的 Java 文件进行二次加密,改变其结构,提高代码保密性和防止逆向破解的能力。 在 Android 应用开发中,只编写 Java 代码是不够的。Android 应用也会包含 XML 、资源文件、native 库和其他二进制文件…

    JavaScript 2023年6月10日
    00
  • 通过jQuery源码学习javascript(三)

    作为网站的作者,我很乐意为大家详细讲解“通过jQuery源码学习javascript(三)”的完整攻略。 攻略概述 这篇攻略主要是介绍如何通过学习jQuery源码来提高JavaScript编程水平,以及一些常用的技巧和方法。 具体来说,攻略的内容涵盖以下几个方面: 探究jQuery源码中的一些关键概念,例如:DOM操作、事件冒泡、事件委托等。 学习如何为jQ…

    JavaScript 2023年5月18日
    00
  • js实现一个简单的数字时钟效果

    下面是JS实现一个简单的数字时钟效果的攻略: HTML结构 首先需要在HTML中创建一个div,用来展现时钟。 <div id="clock"></div> CSS样式 然后还需要写一些CSS样式,让时钟展示的更加美观。 #clock { font-size: 48px; /*设置字号*/ font-family:…

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