后台管理系统实用提示框,JavaScript实现(成功,失败,提示弹窗)

本篇就给大家分享一下超级好用的JavaScript提示框,使其开发中节省大量代码!!! 

由于本篇运用到了jQuery技术,所以在写之前一定记得引入jQuery库 

目录

首先呢我们需要创建html元素

设置css样式,直接引入即可,无需更改,如果想修改颜色可以F12查找元素,使用!important覆盖原本元素样式

引入js文件,引入即可,不影响页面使用,因为页面的一切都是通过函数调用才会触发

如何调用提示框显示

完整页面代码如下

 效果如下


首先呢我们需要创建html元素

<button onclick="defaults()">默认</button>
		<button onclick="success()">成功</button>
		<button onclick="fail()">失败</button>
		<button onclick="warnings()">警告</button>
		<button onclick="confirm()">提示弹窗</button>

设置css样式,直接引入即可,无需更改,如果想修改颜色可以F12查找元素,使用!important覆盖原本元素样式

.confirm_box_wrapper{position: fixed;top: 0;bottom: 0;left: 0;right: 0;text-align: center;z-index: 2000;}
.confirm_model {position: fixed;left: 0;top: 0;width: 100%;height: 100%;opacity: .5;background: #000;z-index:2001 ;}
.confirm_box{display: inline-block; width: 420px;padding-bottom: 10px;vertical-align: middle;
    background-color: #fff;border-radius: 4px;border: 1px solid #ebeef5;font-size: 18px;box-shadow: 0 2px 12px 0 rgb(0 0 0 / 10%);text-align: left;
    overflow: hidden;backface-visibility: hidden; position: absolute; top:30%; left: 50%; transform: translateY(-30%);
	transform: translateX(-50%);z-index: 2002;}
.confirm_header{ height: auto; overflow: hidden;display: flex;padding: 15px 15px 10px;justify-items: center;
    align-items: center;}
.confirm_header .confirm_title{flex: 1;}
.confirm_header .confirm_title span{font-size: 18px;color: #20202A;}
.confirm_header .confirm_close{width: 16px; height: 16px;overflow: hidden; cursor: pointer;}
.confirm_header .confirm_close i{display: block;width: 16px; height: 16px; background: url('../images/icon/icon_close.png') no-repeat;background-size:100% ;}
.confirm_content{display: flex;padding: 10px 15px; color: #606266;font-size: 14px;align-items: center;}
.confirm_content .confirm_icon{width: 25px; height: 25px; overflow: hidden;}
.confirm_content .confirm_message{ flex: 1;padding-left: 10px;}
.confirm_content .confirm_icon_warning{ background: url("../images/icon/icon_warning.png") no-repeat; background-size:100% ;}
.confirm_content .confirm_icon_success{background: url("../images/icon/icon_success.png") no-repeat; background-size:100% ;}
.confirm_content .confirm_icon_error{background: url("../images/icon/icon_error.png") no-repeat; background-size:100% ;}
.confirm_btns{text-align: center;padding: 15px 15px;}
.confirm_btns button{display: inline-block;line-height: 1;white-space: nowrap;cursor: pointer;background: #fff;border: 1px solid #dcdfe6;
    color: #606266;-webkit-appearance: none;text-align: center;font-size: 14px;
    box-sizing: border-box;outline: none;margin: 0;transition: .1s;font-weight: 500;-moz-user-select: none;
    -webkit-user-select: none;-ms-user-select: none; padding: 9px 20px;font-size: 14px;border-radius: 4px;
}
.confirm_btns button.btns_default{margin-right: 15px;}
.confirm_btns button.btns_default:hover{color: #0D53FB; border-color:#0D53FB ;}
.confirm_btns button.btns_primary{background: #0D53FB; border-color:#0D53FB ;color: #fff;}



.YiJia_message{ position: fixed; top:30px;left: 50%;height: 42px;line-height: 42px; background: #fff;min-width: 200px;color: #666;
    box-shadow: 0 2px 4px rgb(0 0 0 / 12%), 0 0 6px rgb(0 0 0 / 4%);z-index:99999999; border-radius: 8px;overflow: hidden;}
.YiJia_message .YiJia_message_main{display: flex;color: #fff;font-size: 14px; align-items: center;padding: 0px 15px;}
.YiJia_message .YiJia_bg_success{background: #4AC396;}
.YiJia_message .YiJia_bg_warning{background: #FF8200;}
.YiJia_message .YiJia_bg_error{background: #ED7979;}
.YiJia_message .YiJia_bg_default{background: #0D53FB;}
.YiJia_message .YiJia_message_icon{width: 20px; height: 20px; overflow: hidden;display: block; background-size:100% ;}
.YiJia_message .YiJia_message_success{background: url(../images/icon/success.png) no-repeat;}
.YiJia_message .YiJia_message_warning{background: url(../images/icon/state_remind.png) no-repeat;}
.YiJia_message .YiJia_message_error{background: url(../images/icon/state_error.png) no-repeat;}
.YiJia_message .YiJia_message_default{background: url(../images/icon/state_remind.png) no-repeat;}
.YiJia_message .YiJia_content{flex: 1; padding-left: 11px;};
.YiJia_message.messageFadeInDown {
        -webkit-animation-duration: .6s;
        animation-duration: .6s;
        -webkit-animation-fill-mode: both;
        animation-fill-mode: both ;-webkit-animation-name:messageFadeInDown;
        animation-name: messageFadeInDown;
    }
    .YiJia_message.messageFadeOutUp {
        -webkit-animation-duration: .6s;
        animation-duration: .6s;
        -webkit-animation-fill-mode: both;
        animation-fill-mode: both; -webkit-animation-name: messageFadeOutUp;
        animation-name: messageFadeOutUp
    }

    
@keyframes messageFadeOutUp {
    0% {
        opacity: 1;	
    }
    100% {
        opacity: 0;
        -webkit-transform: translateY(-100%);
        transform: translateY(-100%);

    }
}



@keyframes messageFadeInDown {
    0% {
        -webkit-transform: translate3d(0, -100%, 0);
        transform: translate3d(0, -100%, 0);
    }
    100% {
        -webkit-transform: none;
        transform: none;

    }
}

引入js文件,引入即可,不影响页面使用,因为页面的一切都是通过函数调用才会触发

$.extend({
	message:function(options) {
		let _this = this;
		var settings = {
			type:'default',
			content:'提示内容',
			time:'2000',
			autoClose:true,
			onClose:function(){},
			define:function(){},
		};
		if(typeof options === "string") {
			settings.content = options;
		}
		if(typeof options === "object") {
			 settings = $.extend({},settings, options)
		}
		
		let top = 30;
		if($('.header_tps').length>0) {
				top = 90;
		}
		var msghtml = `<div class="YiJia_message messageFadeInDown" style="top:${top}px">
						<div class="YiJia_message_main YiJia_bg_${settings.type}">
							<i class="YiJia_message_icon YiJia_message_${settings.type}"></i>
							<div class="YiJia_content">${settings.content}</div>
						</div>
					</div>`;
		var body = $("body");
		var msg = $(msghtml);
		var clearTime;
		var msgA,msgB;
		msgA = function(){
			msg.addClass("messageFadeOutUp");
			msg.one("webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend",
			function() {
				msgB()
			})
		};
		msgB = function() {
			msg.remove();
			settings.onClose(settings);
			clearTimeout(clearTime)
		};
		$(".YiJia_message").remove();
		body.append(msg);
		msg.css({
		    "margin-left": "-" + msg.width() / 2 + "px",
		});
		msg.one("webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend",function(){
			msg.removeClass("messageFadeInDown");
		})
		if(settings.autoClose){
			
			clearTime = setTimeout(function(){
				msgA();	
				settings.define();		
			},settings.time);	
		}
		
		//function isExitsFunction()
		
	},
	
	confirm:function(content,title,options){
		var title = title ? title : '提示';
		var confirmBody = $('<div class="confirm_box_wrapper"><div class="confirm_model"></div></div>');
		var confirmBox = $('<div class="confirm_box"></div>');
		var confirmHeader = $('<div class="confirm_header"></div>')
		var confirmTitle = $(`<div class="confirm_title"><span>${title}</span></div>`);
		var confirmClose = $('<div class="confirm_close"><i class="icon"></i></div>');
		var confirmContent = $('<div class="confirm_content"></div>');
		var confirmIcon = $(`<div class="confirm_icon confirm_icon_${options.type}"></div>`);
		var confirmMessage = $(`<div class="confirm_message">${content}</div>`);
		var confirmBtns = $('<div class="confirm_btns"></div>')
		var confirmOffButton = $(`<button type="button" class="btns_default"><span>${options.cancelButtonText}</span></button>`);
		var confirmYesButton = $(`<button type="button" class="btns_primary"><span>${options.confirmButtonText}</span></button>`);
		confirmHeader.append(confirmTitle,confirmClose);
		if(options.type!=undefined) {
			confirmContent.append(confirmIcon);
		}
		confirmContent.append(confirmMessage);
		if(options.cancelButtonText!=undefined){
			confirmBtns.append(confirmOffButton);
		}
		confirmBtns.append(confirmYesButton);
		confirmBox.append(confirmHeader,confirmContent,confirmBtns);
		confirmBody.append(confirmBox);
		var body = $('body');
		body.append(confirmBody);
		confirmClose.on('click',function(){
			confirmBody.remove();
		});
		
		confirmOffButton.on('click',function(){
			confirmBody.remove();
			setTimeout(function() {
				options.cancel()
			})
		})
		
		confirmYesButton.on('click',function(){
			confirmBody.remove();
			setTimeout(function() {
				options.define()
			})
		})
	}
	
	
})


如何调用提示框显示

function defaults(){
				$.message({type:'default',content:"我是默认提示"});
			}
			function success(){
				$.message({type:'success',content:"我是成功提示"});
			}
			function fail(){
				$.message({type:'error',content:"我是失败"});
			}
			function warnings(){
				$.message({type:'warning',content:"警告提示"});
			}
			function confirm(){
				$.confirm('确定删除该文件么?','提示信息',{
							confirmButtonText: '确定',
							cancelButtonText: '取消',
							type: 'warning',
							define:function(){
								
							},cancel:function(){
								$.message({content:'取消删除',time:2000})
					}
				})		
			}

完整页面代码如下

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>jQuery提示信息和删除提示弹窗</title>
		<link rel="stylesheet" type="text/css" href="css/message.css"/>
		<script src="https://www.jq22.com/jquery/jquery-1.10.2.js"></script>
		<script src="js/message.js" type="text/javascript" charset="utf-8"></script>
	</head>
	<body>
		<button onclick="defaults()">默认</button>
		<button onclick="success()">成功</button>
		<button onclick="fail()">失败</button>
		<button onclick="warnings()">警告</button>
		<button onclick="confirm()">提示弹窗</button>
		
		<script>
			function defaults(){
				$.message({type:'default',content:"我是默认提示"});
			}
			function success(){
				$.message({type:'success',content:"我是成功提示"});
			}
			function fail(){
				$.message({type:'error',content:"我是失败"});
			}
			function warnings(){
				$.message({type:'warning',content:"警告提示"});
			}
			function confirm(){
				$.confirm('确定删除该文件么?','提示信息',{
							confirmButtonText: '确定',
							cancelButtonText: '取消',
							type: 'warning',
							define:function(){
								
							},cancel:function(){
								$.message({content:'取消删除',time:2000})
					}
				})		
			}
		</script>
	</body>
</html>

 效果如下

 

 

 

 

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

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

相关文章

041:vue中 el-table每个单元格包含多个数据项处理

第041个 查看专栏目录: VUE ------ element UI 专栏目标 在vue和element UI联合技术栈的操控下&#xff0c;本专栏提供行之有效的源代码示例和信息点介绍&#xff0c;做到灵活运用。 &#xff08;1&#xff09;提供vue2的一些基本操作&#xff1a;安装、引用&#xff0c;模板使…

故障诊断模型 | Maltab实现ELM极限学习机的故障诊断

文章目录 效果一览文章概述模型描述源码设计参考资料效果一览 文章概述 故障诊断模型 | Maltab实现ELM极限学习机的故障诊断 模型描述 在机器学习领域,我们常常需要通过训练数据来学习一个函数模型,以便在未知的数据上进行预测或分类。传统的神经网络模型需要大量的参数调整和…

ChatGPT的图识别来了

前几天ChatGPT推出了Dall-E 3功能&#xff0c;可以根据文字和描述一段话来生成一个或者一组图。 这次又来重磅了&#xff0c;图识别又来了&#xff01;换句话说&#xff0c;也即是文生图&#xff0c;图生文都可以实现了&#xff0c;一起来试试 1、解释图中的意思 &#xff0…

iOS 设置图标和upload包时显示错误

右键-show in finder-AppIcon.appiconset-然后替换图片 然后遇到个问题 就是图片不能有alpha [Xcode]应用图标&#xff1a;ERROR ITMS-90717: “Invalid App Store Icon. The App Store Icon in the asset catalog in x… 具体操作&#xff1a;只需确保【AppIcon】图片集中不…

【广州华锐互动】楼宇智能化VR虚拟教学系统

在如今的技术时代&#xff0c;教育行业正在逐步引入各种创新方法以提升教学质量。VR公司广州华锐互动开发的楼宇智能化VR虚拟教学系统就是其中的一种&#xff0c;它利用虚拟现实(VR)技术&#xff0c;为学生提供一种全新的、沉浸式的学习体验。 楼宇智能化VR虚拟教学系统涵盖综合…

如何使用fiddler实现手机抓包,Filters过滤器!

一、Fiddler与其他抓包工具的区别 1、Firebug虽然可以抓包&#xff0c;但是对于分析http请求的详细信息&#xff0c;不够强大。模拟http请求的功能也不够&#xff0c;且firebug常常是需要“无刷新修改”&#xff0c;如果刷新了页面&#xff0c;所有的修改都不会保存&#xff1b…

网络通信TCP、UDP详解

目录 IP 和端口 网络传输中的 2 个对象&#xff1a;server 和 client 两种传输方式&#xff1a;TCP/UDP TCP 和 UDP 原理上的区别 为何存在 UDP 协议 TCP/UDP 网络通信大概交互图 IP 和端口 所有的数据传输&#xff0c;都有三个要素 &#xff1a;源、目的、长度。 怎么表…

windows下安装zookeeper及kafka

1、下载安装包 https://dlcdn.apache.org/zookeeper/zookeeper-3.9.1/apache-zookeeper-3.9.1-bin.tar.gz 2、下载kafka包 Apache Kafka 3、解压压缩包 4、进入zookeeper目录创建配置的数据目录data及配置的日志目录log 5、复制并配置zoo.cfg文件 6、启动zookeeper&#xff0…

BI 数据可视化平台建设(1)—交叉表组件演变实战

作者&#xff1a;vivo 互联网大数据团队 - Zhu Jianchen 本文是vivo互联网大数据团队《BI数据可视化平台建设》系列文章第1篇 - 交叉表组件。 交叉表在数据分析里应用广泛&#xff0c;通过本文&#xff0c;你将了解到&#xff1a; 交叉表的基本概念&#xff0c;以及BI可视化平…

Delphi TCP服务端监听端口获取客户端RFID网络读卡器上传的刷卡数据

本示例使用设备介绍&#xff1a;液显WIFI无线网络HTTP协议RFID云读卡器可编程实时可控开关TTS语-淘宝网 (taobao.com) unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, ComCtrls, ScktComp, StdCtrls, ScktCom…

机器学习——实践

目录 一、数据集划分 1、交叉验证 2、不平衡数据的处理 代价敏感学习 二、评价指标 三、正则化、偏差和方差 为什么要标准化/归一化&#xff1f; 过拟合的处理——Dropout 过拟合的处理——Early stopping 过拟合的处理——数据增强 偏差和方差 ​编辑 一、数据集划分…

【Android】画面卡顿优化列表流畅度三之RecyclerView刷新机制notifyItemRangeInserted

经过长达一个多星期的反复渲染耗时记录&#xff0c;大致上有以下几个方面的地方可以优化&#xff1a; 列表组件RecyclerView刷新机制由notifyDataSetChanged()优化为notifyItemRangeInserted&#xff08;&#xff09;&#xff0c;后期有必要也会使用notifyItemRangeRemoved、n…

Qt 自定义全局悬浮置顶按钮

Qt 自定义全局悬浮置顶按钮 效果 使用示例 ResetButton* resetBtn; resetBtn new ResetButton(); resetBtn->show(); resetBtn->move(QPoint(1000, 800)); connect(resetBtn, &ResetButton::clicked, this, &MainWindow::Reset);自行加入图片&#xff0c;透明…

Python---练习:把8名讲师随机分配到3个教室

案例&#xff1a;把8名讲师随机分配到3个教室 列表嵌套&#xff1a;有3个教室[[],[],[]]&#xff0c;8名讲师[A,B,C,D,E,F,G,H]&#xff0c;将8名讲师随机分配到3个教室中。 分析&#xff1a; 思考1&#xff1a;我们第一间教室、第二间教室、第三间教室&#xff0c;怎么表示…

【系统救援】 Ubuntu重启失败,报错:UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY

问题定位及处理 查看错误信息&#xff1a;/dev/sda3 contains a file system with errors, check forced. /dev/sda3: Inodes that were part of a corrupted orphan linked list found. /dev/sda3: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY. (i.e., without -a or -p o…

Javaweb之javascript的BOM对象的详细解析

1.5.2 BOM对象 接下来我们学习BOM对象&#xff0c;BOM的全称是Browser Object Model,翻译过来是浏览器对象模型。也就是JavaScript将浏览器的各个组成部分封装成了对象。我们要操作浏览器的部分功能&#xff0c;可以通过操作BOM对象的相关属性或者函数来完成。例如&#xff1a…

无线充,大功率小家电,智能家居,无人机快速充电等产品供电 LDR6328S芯片TYUPE-C PD诱骗电压 USB-C解决PD电源取电问题

LDR6328S 是乐得瑞科技有限公司开发的一款兼容 USB PD、QC 和 AFC 协议的 Sink 控制器。 LDR6328S 从支持 USB PD、QC 和 AFC 协议的适配器取电&#xff0c;然后供电给设备。比如可以配置适配器输 出需要的功率&#xff0c;给无线充电器设备供电。LDR6328S 也兼容传统 USB 电源…

Windows上基于Tesseract OCR5.0官方语言库的LSTM字库训练

系列文章目录 Tesseract OCR引擎 文章目录 系列文章目录前言一、LSTM字库训练是什么&#xff1f;二、使用步骤1. 环境准备1.1下载Tesseract 程序并安装1.2下载Tesseract 训练字库1.3下载工具jTessBoxEditor 2. LSTM训练2.1 将要训练的图片(jpg/tif)合并成一个文件2.2 生成box文…

【Python】AppUI自动化—appium自动化元素定位、元素事件操作(17)下

文章目录 前言一.Appium 元素定位1.定位方式种类2.如何定位2.1 id定位2.2 className定位2.3 content-desc 定位2.4 Android Uiautomator定位4.1 text定位4.2 text模糊定位4.3 text正则匹配定位4.4 resourceId定位4.5 resourceId正则匹配定位4.6 className定位4.7 className正则…

QT项目|时间服务器架构

目录 一、 创建新UI界面的标题 二、 创建服务器运行图标 2.1 查找图标&#xff0c;并截图 2.2 加入QT资源库 三、编辑UI界面 3.1 根据要求&#xff0c;绘制UI界面 3.2 对控件进行命名 3.3 加入Group Box进行美化 四、 按钮操作设置 4.1 QT加入网络 4.2 转到槽&…