仿写confirm和alert弹框
在工作中,我们常常会遇到原生的样式感觉比较丑,又和我们做的项目风格不搭。于是就有了仿写原生一些组件的念头,今天我就带大家仿写一下confirm和alert样式都可以自己修改。
有些的不好的地方请指出来,让我们共同成长,如果有不懂的也可以私聊我,我会为你详细解说。
本文有以下三个段落
1.功能代码块展示,弹框功能尺寸适用手机在电脑上看会比较大。
//弹出对话框:传了cancel是confirm,不传就是alert弹框
function Confirm(obj) {
let _obj = obj || {};
//视图层
let div = '<div id="_bj" style="">' +
'<div id="Kuang" style="">' +
'<h3 id="Tishi">提 示</h3>' +
'<span id="_content"></span>' +
'<div id="_cancel" class="XuanZhe" style="left:0;">取 消</div>' +
'<div id="_determine" class="XuanZhe" style="right:0;border-left:0.5px solid gainsboro;">确 定</div>' +
'</div>' +
'</div>';
$("body").append(div);
//css样式层
$("#_bj").css({
position:"fixed",
top:0,left:0,
textAlign:"center",
width:"100vw",
height:"100vh",
zIndex: 998,
background:"rgba(0,0,0,.3)",
});
$("#Kuang").css({
position:"absolute",
textAlign:"center",
top:"50%",left:"50%",
transform:"translate(-50%,-50%)",
width:"900px",
height:"450px",
background:"#f8f8f8",
borderRadius:"20px",
fontSize:"50px"
});
//传入一个选项是alert框,两个是confirm框
if(_obj.cancel!=""&&_obj.cancel!=null){
$(".XuanZhe").css({
position:"absolute",
textAlign:"center",
width:"50%",
color:"#287ae8",
borderTop:"0.5px solid gainsboro",
bottom:0,
lineHeight:"150px"
});
$("#_cancel").html(_obj.cancel);
//交互层
$("#_cancel").click(function() {
$("#_bj").remove();
_obj.callback && _obj.callback(false);
});
$("#_determine").click(function() {
$("#_bj").remove();
_obj.callback && _obj.callback(true);
});
}else{
$(".XuanZhe").css({
position:"absolute",
textAlign:"center",
width:"100%",
color:"#287ae8",
borderTop:"0.5px solid gainsboro",
borderLeft:"none",
left:0,
bottom:0,
lineHeight:"150px"
});
$("#_cancel").hide();
$("#_determine").click(function() {
$("#_bj").remove();
_obj.callback && _obj.callback();
});
}
$("#_determine").html(_obj.determine);
$("#_content").html(_obj.content || "确定吗");
}
2.代码调用说明
2.1调用时传了cancel,弹出的是confirm
$("#btn").click(function(){
Confirm({
content: "确定要删除吗",cancel:"取消",determine:"确定",
callback: function(res) {//回调函数,返回true,false
console.log(res);
}
});
});

2.2调用时没有传cancel,弹出的是alert
$("#btn").click(function(){
Confirm({
content: "你真的喜欢我吗?",determine:"确定",
callback: function(res) {//回调函数没有返回值
console.log("喜欢");
}
});
});

3.希望大家给点优化建议,让它更好的为广大的程序员们服务。
仿写confirm和alert弹框的更多相关文章
- selenium对Alert弹框的多种处理
Alert弹框是一个很烦人的控件,因为当前页面如果弹出了该弹框,你必须要处理它,不然你就不能操作页面的其它元素,下面我列出了alert弹框在多种场景下的处理办法. 明确知道系统哪个地方会弹alert ...
- python工具 - alert弹框输出姓名年龄、求和
使用python自带的tkinter库进行GUI编程,完成两个功能: (1)要求用户输入姓名和年龄然后打印出来 (2)要求用户输入一个数字,然后计算1到该数字之间的和 代码部分: # 导入tkinte ...
- 自定义alert弹框,title不显示域名
问题: 系统默认的alert弹框的title会默认显示网页域名 解决办法: (修改弹框样式) (function() { window.alert = function(name) { $(" ...
- JavaScript实现自定义alert弹框
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAh0AAAFkCAYAAACEpYlzAAAfj0lEQVR4nO3dC5BddZ0n8F93pxOQCO
- 操作JavaScript的Alert弹框
@Testpublic void testHandleAlert(){ WebElement button =driver.findElement(By.xpath("input" ...
- 自定义alert弹框,title不显示域名(重写alert)
问题: 系统默认的alert弹框的title会默认显示网页域名 解决办法: (修改弹框样式) (function() { window.alert = function(name) { $(" ...
- 手写alert弹框(一)
采用原生的JavaScript, html代码 <meta name="viewport" content="width=device-width, initial ...
- 如何优雅的写一个Vue 的弹框
写Vue或者是react 都会遇见弹框的问题.也尝试了多种办法来写弹框,一直都不太满意,今天特地看了一下 Element UI 的源码,模仿着写了一个简易版. 大概有一下几个问题: 1.弹框的层级问题 ...
- CreateProcessAsUser,C#写的windows服务弹框提示消息或者启动子进程
服务(Service)对于大家来说一定不会陌生,它是Windows 操作系统重要的组成部分.我们可以把服务想像成一种特殊的应用程序,它随系统的“开启-关闭”而“开始-停止”其工作内容,在这期间无需任何 ...
随机推荐
- 正割函数(sec)
1. 定义 正割与余弦互为倒数,余割与正弦互为倒数.即: ⎧⎩⎨⎪⎪⎪⎪secθ=1cosθcscθ=1sinθ 也即在几何上,设 △ABC,∠C=90°,AC=b,BC=a,AB=c, 正割函数:s ...
- HashMap工作原理的介绍!
HashMap的工作原理是近年来常见的Java面试题.几乎每个Java程序员都知道HashMap,都知道哪里要用HashMap,知道HashTable和HashMap之间的区别,那么为何这道面试题如此 ...
- DDD实战8_2 利用Unity依赖注入,实现接口对应实现类的可配置
1.在Util类库下新建DIService类 /// <summary> /// 创建一个类,对应在配置文件中配置的DIServices里面的对象的 key /// </summar ...
- Linux下快速静态编译Qt以及Qt动态/静态版本共存(提供了编译4.6,5.6的精通编译脚本,并且apt-get install 需要的库也全列出来了。还有分析问题的心理过程)good
qt4.6 Linux./configure -static -release -confirm-license -opensource -qt-zlib -qt-libpng -qt-libjpeg ...
- Android 调用系统分享文字、图片、文件,可直达微信、朋友圈、QQ、QQ空间、微博
原文:Android 调用系统分享文字.图片.文件,可直达微信.朋友圈.QQ.QQ空间.微博 兼容SDK 18以上的系统,直接调用系统分享功能,分享文本.图片.文件到第三方APP,如:微信.QQ.微博 ...
- MFC 窗口分割与通信
一.关于CSplitterWnd类我们在使用CuteFtp或者NetAnt等工具的时候,一般都会被其复杂的界面所吸引,在这些界面中窗口被分割为若干的区域,真正做到了窗口的任意分割. 那么我们自己如何创 ...
- WPF制作Logo,很爽,今后在应用程序中加入Logo轻松,省事!
原文:WPF制作Logo,很爽,今后在应用程序中加入Logo轻松,省事! 这是效果: XAML代码:<Viewbox Width="723.955078" Height=&q ...
- Android获取百度音乐下载音乐和歌词下载链接
首先,你必须通过以下连接下载歌曲: http://box.zhangmen.baidu.com/x?op=12&count=1&title={title}$${author}$$$$ ...
- ASP.NET Core 静态文件 - ASP.NET Core 基础教程 - 简单教程,简单编程
原文:ASP.NET Core 静态文件 - ASP.NET Core 基础教程 - 简单教程,简单编程 ASP.NET Core 静态文件 前几章节中,我们学习了 ASP.NET Core 的中间件 ...
- 关于hibernate一对一配置
实体类关系 一对一 一对多 多对一 多对多 Hibernate提供了两种映射一对一关联关系的方式:按照外键映射和按照主键映射.下面以员工账号和员工档案表为例,介绍这两种映射方式,并使用这两种映射方式分 ...