Frontend - Boostrap 消息弹窗

目录

一、下载

(一)中文官网

(二)bootstrap v3 依赖 jQuery 插件

二、解压并安装

(一)解压

1. 压缩包解压

2. 简化文件

(二)安装

三、配置

(一)base.html中放置文件

(二)放置顺序

四、应用:三秒消息弹框

(一)参考资源

(二)设定

1. base.html 内容

2. test.html 内容

3. js 内容

4. base.css 内容


以下内容均以 bootstrap v3 为例

一、下载

(一)中文官网

        https://www.bootcss.com/

(二)bootstrap v3 依赖 jQuery 插件

        若 bootstrap 版本是 v3,则依赖 jQuery 插件,需要下载 jquery-3.1.1.min.js 文件。

        若 bootstrap 版本是 v4, v5,则不依赖 jQuery 插件。

二、解压并安装

(一)解压

1. 压缩包解压

2. 简化文件

        若只要求实现 boostrap 的基础功能,则选取以下文件即可:

        bootstrap.css、bootstrap.min.css、bootstrap.js、bootstrap.min.js

(二)安装

        解压后的 css、js 文件分别放置在项目 static 的 css、js 文件夹中。

三、配置

(一)base.html中放置文件

<head>
  <link rel="stylesheet" type="text/css" href="{% static 'css/bootstrap.css' %}"/>
  <link rel="stylesheet" type="text/css" href="{% static 'css/bootstrap.min.css' %}"/>
  <script type="text/javascript" src="{% static 'js/jquery-3.1.1.min.js' %}"></script>
  <script type="text/javascript" src="{% static 'js/bootstrap.min.js' %}"></script>
  <script type="text/javascript" src="{% static 'js/dataTables.bootstrap.min.js' %}"></script>
</head>

(二)放置顺序

        jquery-3.1.1.min.js 需要放在 bootstrap.min.js 的前面。

四、应用:三秒消息弹框

(一)参考资源

        消息弹窗设定:https://getbootstrap.com/docs/4.0/components/alerts/

        图标获取: https://icons.bootcss.com/

(二)设定

1. base.html 内容

<body id="body">
    . . .
    <div>{% block content %} {% endblock %}</div>
  <div id="msg_box" class="msg_box"></div>  <!-- 消息弹窗 -->
</body>

2. test.html 内容

{% extends "base.html" %}
{% load static %}
{% load i18n %}
{% block content %}
<div id="main">
    <h1>测试弹窗的界面<h1>
    <button id="btn_alert">点击测试</button>
</div>
<script type="text/javascript">
$(document).ready(function () {
    $('#btn_alert').click(function () {
        sys_alert('warning', 'bi bi-exclamation-circle', '展示警告的消息弹窗');//信息弹窗提示
    })
});
</script>
{% endblock %}

3. js 内容

// 自动关闭弹窗
function close_div(idx, show_time) {
    setTimeout(function () {
        $('.alert_item_' + idx).remove();
    },  show_time * 1000); // 2秒
}

// 弹窗功能,其中,alert_idx 当前弹窗下标; alert_type 弹窗类型(boostrap有success、warning等),alert_icon 弹窗类型图标(在bootstrap icons图标库中查找),alert_msg 提示信息
var alert_idx = 0; 
function sys_alert(alert_type, alert_icon, alert_msg) {
     // 组装单个弹窗
    let str = `<div class="item_css alert_item_` + alert_idx + `">
                    <div class="alert_cont alert-` + alert_type + ` alert-dismissible">
                        <div class="cont_center">
                            <h4><i class="` + alert_icon + `"></i> ` + alert_msg + `</h4>
                            <button type="button" class="close alert_off " close_item="` + alert_idx + `">
                                <i class="bi bi-x"></i>
                            </button>
                        </div>
                    </div>
                </div>`;
    // 将所有弹窗放进base.html中规定的总大盒子里
    $('#msg_box').append(str);
    // 动态显示消息弹窗
    $('.alert_item_' + alert_idx).slideDown(200, 'linear', function () {
        $(this).delay(2 * 1000).slideUp(200, 'linear');  // 2秒
        close_div(alert_idx, 2); // 2秒后自动关闭
    });
    // 关闭消息弹窗
    $(".alert_off").off().on('click', function () {
        close_div($(this).attr('close_item'), 0); // 马上关闭
    })
    alert_idx++;
}

4. base.css 内容

/* 装多个弹窗的大盒子 的显示范围 */
.msg_box {
    position: absolute;
    top: 0;
    width: 100%;
    display: block;
    text-align: center;
}
/* 单个弹窗的 对外布局 */
.msg_box .item_css{
    display: none;
    margin: 10px 0 0 0;
}
/* 单个弹窗的 内容布局-适应文字长度 */
.item_css>.alert_cont{
    display: inline-block;
    overflow: hidden;
    padding: 5px;
    opacity: .9;  /* 完全透明是 0 */
}
/* 单个弹窗的 内容布局-设置内容水平垂直居中 */
.item_css .cont_center{
    display: flex;
    align-items: center;  /* 垂直居中 */
    justify-content: space-between;
}
/* 单个弹窗的 关闭按钮位置 */
.item_css .alert-dismissible .close{
    padding: 0 0 0 10px !important;
    position: inherit;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/427601.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

CDN介绍

概念介绍 CDN Content Delivery Network&#xff0c;缩写&#xff1a;CDN&#xff09;是一种提供更快互联网访问的服务&#xff0c;通过在网络的边缘或核心交换区域部署内容代理服务器来实现。这些服务器利用全局负载调度机制来分发内容&#xff0c;从而构建了一个覆盖范围广…

2023年个税申报:“婴幼儿照护专项附加扣除标准”你选对了没有?

2023年个税申报&#xff1a;“婴幼儿照护专项附加扣除标准”你选对了没有&#xff1f; 根据《国务院关于设立3岁以下婴幼儿照护个人所得税专项附加扣除的通知》(国发〔2022〕8号)&#xff1a; 一、纳税人照护3岁以下婴幼儿子女的相关支出&#xff0c;按照每个婴幼儿每月1000元…

技术总结: PPT绘图

目录 写在前面参考文档技巧总结PPT中元素的连接立方体调整厚度调整图形中的文本3D 图片调整渐变中的颜色 写在前面 能绘制好一个好看的示意图非常重要, 在科研和工作中好的示意图能精准表达出自己的想法, 减少沟通的成本, 可视化的呈现也可以加强自身对系统的理解, 时间很久后…

Linux进程间通信方式之socket使用实例

TCP/IP协议族包括运输层、网络层、链路层&#xff0c;而socket所在位置如图&#xff0c;Socket是应用层与TCP/IP协议族通信的中间软件抽象层。 下面是网络socket通信的基本流程&#xff1a; socket函数 int socket(int domain, int type, int protocol);socket函数对应于普通…

DevOps学习 | 如何应对IT服务交付中的问题?

目录 前言 DevOps是什么&#xff1f; DevOps发展历程 DevOps与微服务、容器的关系 书本推荐 前言 作为一个热门的概念&#xff0c;DevOps这个名词在程序员社区里频频出现&#xff0c;备受技术大佬们的追捧。甚至网络上有了“南无DevOps”的戏言&#xff08;南无在梵语的意…

MySQL面试题【全面】

基础内容 1、MySQL的架构分层 &#xff08;1&#xff09;Serve层&#xff1a;负责建立连接、分析和执行 SQL。 MySQL 大多数的核心功能模块都在这实现&#xff0c;主要包括连接器&#xff0c;查询缓存、解析器、预处理器、优化器、执行器等。另外&#xff0c;所有的内置函数&…

解析 openGauss 的 AutoVacuum 机制及优化策略

前言 在 openGauss 数据库中&#xff0c;AutoVacuum 机制是一个关键的自动化功能&#xff0c;用于管理表的空间和性能。AutoVacuum 通过定期清理过时数据和更新统计信息&#xff0c;帮助数据库管理员维护数据库的性能和稳定性。 为什么需要 AutoVacuum&#xff1f; 了解AutoV…

SOCKS55代理 VS Http代理,如何选择?

在使用IPFoxy全球代理时&#xff0c;选择 SOCKS55代理还是HTTP代理&#xff1f;IPFoxy代理可以SOCKS55、Http协议自主切换&#xff0c;但要怎么选择&#xff1f;为解决这个问题&#xff0c;得充分了解两种代理的工作原理和配置情况。 在这篇文章中&#xff0c;我们会简要介绍 …

第15届蓝桥STEMA测评真题剖析-2024年1月28日Scratch编程初中级组

[导读]&#xff1a;超平老师的《Scratch蓝桥杯真题解析100讲》已经全部完成&#xff0c;后续会不定期解读蓝桥杯真题&#xff0c;这是Scratch蓝桥杯真题解析第173讲。 第15届蓝桥第4次STEMA测评&#xff0c;这是2024年1月28日举办的STEMA&#xff0c;比赛仍然采取线上形式。这…

羊大师揭秘羊奶与健康,美味的保健佳品

羊大师揭秘羊奶与健康&#xff0c;美味的保健佳品 羊奶确实是一种美味且健康的保健佳品&#xff0c;其独特的营养成分和风味使其成为许多人的健康选择。以下是一些羊奶与健康的关系&#xff1a; 营养丰富&#xff1a;羊奶含有丰富的蛋白质、脂肪、矿物质和维生素&#xff0c;…

【latex过长或过短】 表格大小调整 解决方案

文章目录 1、表格过短 1.2 问题描述1.2 解决方案 2、表格过长&#xff0c;显示信息不全 2.1 问题描述2.2 解决方案 1、表格过短 1.2 问题描述 表格占整个页面的宽度较小&#xff0c;如下图&#xff1a; Latex源码如下&#xff1a;\begin{table*} \caption{short} \label{t1} …

OpenCompass 大模型评测介绍和实战

为什么要进行评测&#xff1f; 大模型的能力 模型评测对各个人的影响 如何评测大语言模型 客观评测 主观评测 prompt工程 平台结构 流水线设计 大模型评测对比 多模态探索 垂直领域&#xff08;法律&#xff09; 垂直领域&#xff08;医疗&#xff09; 大模型评测领…

Python 语句(二)【循环语句】

循环语句允许执行一个语句或语句组多次&#xff0c;其程序流程图如下&#xff1a; 在python中有三种循环方式&#xff1a; while 循环 当判断条件为 true 时执行循环体&#xff0c;否则退出循环体。for 循环 重复执行语句嵌套循环 &#xff08;在while循环体中嵌套for循环&…

Java 打包 SpringBoot 项目报错

Java 打包 SpringBoot 项目报错 问题重现 Please refer to xxxx for the individual test results. Please refer to dump files (if any exist) [date].dump, [date]-jvmRun[N].dump and [date].dumpstream. 解决问题 在 pom.xml 的 <properties> 中添加项目代码 <s…

Python处理表格数据库之Agate使用详解

概要 您是否有时觉得在处理表格数据时感到不知所措? 也许你在处理一个大型 CSV 文件,遇到了各种数据不一致的问题,或者需要验证数据,确保其准确无误才能进行下一步分析。 传统的数据分析库或许功能强大,但学习曲线陡峭,用起来有点杀鸡用牛刀的感觉。 这时,有一个更…

2024六大创业营销趋势,普通人创业新风向!

2024年越来越多的人选择创业&#xff0c;从龙年春节前后&#xff0c;创投圈就开始探讨关于2024的创业新风向&#xff0c;从各个热点&#xff0c;各大品牌&#xff0c;春晚等等方面洞察2024创业趋势&#xff0c;以下总结的6大创业营销趋势&#xff0c;跟着大品牌押宝&#xff0c…

鸿蒙Harmony应用开发—ArkTS声明式开发(通用属性:焦点控制)

自定义组件的走焦效果&#xff0c;可设置组件是否走焦和具体的走焦顺序&#xff0c;tab键或者方向键切换焦点。 说明&#xff1a;从API Version 8开始支持。后续版本如有新增内容&#xff0c;则采用上角标单独标记该内容的起始版本。 focusable focusable(value: boolean) 设…

一个iOS应用是如何启动以及如何优化

一、应用启动流程 1、主要阶段&#xff1a; 分为两个阶段&#xff0c;pre-main阶段和main()阶段。程序启动到main函数执行前是pre-main阶段&#xff1b;在执行main函数后&#xff0c;调用AppDelegate中的-application:didFinishLaunchingWithOptions:方法完成初始化&#xff…

uniapp和vue项目配置多语言,实现前端切换语言

在uniapp中配置多语言功能&#xff0c;实现前端切换语言&#xff0c;可以按照以下步骤进行&#xff1a; 1. 创建语言包 首先&#xff0c;创建一个名为 lang 的目录&#xff0c;并在该目录下为每种支持的语言创建对应的JSON或JS文件。例如&#xff1a; lang/en.js&#xff08…

微信小程序屏蔽控制台黄色提示信息

我们很多时候 一个小程序 啥都没有 终端就一直报一些黄色的警告 可以打开项目的 project.config.json 找一下setting 下面有没有 checkSiteMap 字段 如果没有加一个 如果有 直接将值改为 false 这样 再运行 就不会有这个黄色的提示信息了