JS模拟alert与confrim 对话框
来源:互联网 发布:wind软件使用 编辑:程序博客网 时间:2024/05/21 05:18
这2个例子都是用原生JS写的,主要是用JS拼接了界面,并未做过多的事件监听。,样式用了Css3的一些特性。
调用方式则为:
//Alert Alert.show('我警告你哦~'); //Confirm Confirm.show('我是确认对话框',function(){ doSomething(); });
组件详情看下面的具体代码:
1.CSS样式
由于这2个组件的样式差不多,所用共用了一样的css,样式代码如下:
/** * dialog */.dialog { top:40%; left:40%; width: 250px; min-height: 100px; position:fixed; z-index:9999; text-align: center; padding:10px; border:solid #bcc5c1 1px; background:#FFF; border-radius:3px; -moz-border-radius:3px; -webkit-border-radius:3px; padding:0px; behavior: url(PIE.htc);}.dialog .dialog-header { position:relative; width:100%; height:30px; margin:0px; background:#0CF; background:linear-gradient(top,#d1d4d3 0%,#c4c7c8 100%); background:-webkit-linear-gradient(top,#d1d4d3 0%,#c4c7c8 100%); background:-moz-linear-gradient(top,#d1d4d3 0%,#c4c7c8 100%); border-radius:3px 3px 0px 0px; -moz-border-radius:3px 3px 0px 0px; -webkit-border-radius:3px 3px 0px 0px; behavior: url(PIE.htc);}.dialog-header .header-left { width: auto; height:auto; float:left; margin:7px;}.dialog-header .header-right { width: auto; height:auto; float:right; margin:7px;}.dialog .dialog-content { font-size:14px; height:100%; width:96%; float:left; font-family:"Helvetica Neue", Helvetica, Arial, sans-serif; color:#424242; padding:5px;}.dialog-content .content-main { width: 100%; min-height: 40px; line-height:25px; float:left; white-space: normal;}.dialog-content .content-btn { float:left; width:100%; height:28px; margin-top:10px;}.btn { font-family:Arial, Helvetica, sans-serif; font-size:12px; text-align:center; vertical-align:middle; margin-right:5px; padding:5px 20px 5px 20px; text-decoration:none; border:#c4c7c8 solid 1px; border-radius:3px; background:#d1d4d3; background:linear-gradient(top,#d1d4d3 0%,#c4c7c8 100%); background:-webkit-linear-gradient(top,#d1d4d3 0%,#c4c7c8 100%); background:-moz-linear-gradient(top,#d1d4d3 0%,#c4c7c8 100%); color:#111c24;}.btn:hover { background:#d1d4d3; background:linear-gradient(top,#c4c7c8 0%,#d1d4d3 100%); background:-webkit-linear-gradient(top,#c4c7c8 0%,#d1d4d3 100%); background:-moz-linear-gradient(top,#c4c7c8 0%,#d1d4d3 100%); color:#111c24;}.alert-content { text-align: left; text-indent: 20px;}.alert { margin-left:140px;}
2.Alert
Alert 主要是模拟了界面,并显示提示信息。JS代码.Demo 可查看:http://wewoor.github.io/CNUI/document.html 。
//Alert var Alert = { func : function(){}, name : "dialog", show : function(msg){ //show function var confirm = document.createElement("div"); confirm.className = this.name; confirm.id = this.name;; var confirmHeader = document.createElement("div"); confirmHeader.className = "dialog-header"; var headerSpan = document.createElement("span"); headerSpan.className = "dialog-title"; var confirmContent = document.createElement("div"); confirmContent.className = "dialog-content"; var contentSpan = document.createElement("span"); contentSpan.className = "content-main alert-content"; var contentBtnDiv = document.createElement("div"); contentBtnDiv.className="content-btn"; var btnConfirm = document.createElement("a"); //确认按钮 btnConfirm.href = "javascript:Alert.hide()"; btnConfirm.className = "btn alert"; //按钮添加 contentBtnDiv.appendChild(btnConfirm); confirmContent.appendChild(contentSpan); confirmContent.appendChild(contentBtnDiv); confirmHeader.appendChild(headerSpan); confirm.appendChild(confirmHeader); confirm.appendChild(confirmContent); //default button headerSpan.innerHTML = "警示框!"; btnConfirm.innerHTML = "确认"; contentSpan.innerHTML = "这是一个警示框!"; if(msg != null && msg != undefined){ contentSpan.innerHTML = msg; } document.body.appendChild(confirm); return confirm; }, hide : function(){ var confirm = document.getElementById(this.name); if(confirm != null && confirm != undefined){ document.body.removeChild(confirm); } } }
3.Confirm 组件
confirm对话框并没有像原生的confirm组件返回true 或者false,而是点击确认按钮后执行了传入的回调函数,点击取消按钮则移除了这个组件。demo请看:http://wewoor.github.io/CNUI/document.html
//Confirmvar Confirm = { func : function(){}, name : "dialog", show : function(msg,call){ //show function var confirm = document.createElement("div"); confirm.className = this.name; confirm.id = this.name;; var confirmHeader = document.createElement("div"); confirmHeader.className = "dialog-header"; var headerSpan = document.createElement("span"); headerSpan.className = "dialog-title"; var confirmContent = document.createElement("div"); confirmContent.className = "dialog-content"; var contentSpan = document.createElement("span"); contentSpan.className = "content-main"; var contentBtnDiv = document.createElement("div"); contentBtnDiv.className="content-btn"; var btnConfirm = document.createElement("a"); //确认按钮 btnConfirm.href = "javascript:Confirm.callback()"; btnConfirm.className = "btn"; var btnCancle = document.createElement("a"); //取消按钮 btnCancle.className = "btn"; btnCancle.href = "javascript:Confirm.hide()"; //按钮添加 contentBtnDiv.appendChild(btnConfirm); contentBtnDiv.appendChild(btnCancle); confirmContent.appendChild(contentSpan); confirmContent.appendChild(contentBtnDiv); confirmHeader.appendChild(headerSpan); confirm.appendChild(confirmHeader); confirm.appendChild(confirmContent); //default style headerSpan.innerHTML = "对话框"; contentSpan.innerHTML = "这是确认对话框?"; btnConfirm.innerHTML = "确认"; btnCancle.innerHTML = "取消"; //if the property html is not null and not undefined //just set this property. if(msg != undefined){ contentSpan.innerHTML = msg; } //set callback if(call != null && call != undefined){ if(typeof(call) == "function"){ this.func = call; } } document.body.appendChild(confirm); return confirm; }, hide : function(){ var confirm = document.getElementById(this.name); if(confirm != null && confirm != undefined){ document.body.removeChild(confirm); } }, callback : function(){ //执行call回调方法 this.func(); //隐藏confirm对象 this.hide(); } }
- JS模拟alert与confrim 对话框
- JS+CSS 模拟alert效果
- 用模态窗口 模拟 alert 和 confirm 对话框
- 纯js(jq)模拟alert弹窗
- jQueryAlert:jQuery JS的Alert、Comfirm、Prompt的提示对话框效果,效果非常棒,可以用来模拟代替默认的对话框
- jQueryAlert:jQuery JS的Alert、Comfirm、Prompt的提示对话框效果,效果非常棒,可以用来模拟代替默认的对话框
- UpdatePanel与JS alert冲突
- js模拟弹出系统对话框
- [JS]JS模拟Alert弹出框效果--自定义CSS样式
- android webview js alert对话框 不能弹出 解决办法
- android webview js alert对话框 不能弹出 解决办法
- android webview js alert对话框 不能弹出 解决办法
- android webview js alert对话框 不能弹出 解决办法
- android webview js alert对话框 不能弹出 解决办法
- JS模拟ALERT半透明背景,仿关机效果
- js alert
- JS基础第3-2课:alert 消息对话框、confirm 消息对话框
- confrim用法
- try{}中return和finally{}
- .net 2010 chart控件绘制饼状图
- 自己实现的对象池
- 内存分析和优化总结
- 高并发数据缓存池(基于EHcache)
- JS模拟alert与confrim 对话框
- Android Phone模块 三
- http://www.360doc.com/content/10/0905/21/1066008_51463300.shtml
- 并查集详解 (转)
- Android系统中的输入输出设备
- 黑马程序员--入门基础二
- DisplayTag详解
- mongodb的mapreduce的分组统计
- iOS: bundle name, bundle display name, bundle identifier...