js重写alert控件(适合学习js的新手朋友)


Posted in Javascript onAugust 24, 2014

纯粹是为了打发时间,手写了一个JS的 alert控件。

代码如下:

<html> 
<head> 
<script type="text/javascript"> 
var alertObj = new Object(); 
var generalStyle = { 
zIndex: 0, 
width: "200px", 
height: "100px", 
border: "thick solid #CCCCCC", 
background: "#FFFFFF", 
position: "absolute", 
top: "35%", 
left: "40%" 
} 
var txtStyle = { 
textAlign: "center" 
} 
var btnStyle = { 
position: "absolute", 
left: "40%", 
top: "70%", 
color: "#333333", 
fontWeight: "bold", 
outlineColor:"#3366FF", 
outlineStyle:"ridge", 
outlineWidth:"thin", 
//outline: "thin ridge #3366FF", 
innerHTML: "OK" 
} 
alertObj = { 
generalSet: generalStyle, 
txtSet: txtStyle, 
btnSet: btnStyle, 
isExist: false 
} 
alertObj.createComponent = function() { 
var component = document.createElement(arguments[0]); 
var styles = arguments[1]; 
for (var property in styles) { 
if (styles[property] != null) { 
try{ 
component.style[property] = styles[property]; 
}catch(err){ 
document.write(err.name+":"+property+"<br/>");//set property error! 
} 
} 
} 
return component; 
} 
alertObj.show = function() { 
if(!this.isExist){ 
this.isExist = true; 
var bodyObj = document.body; 
bodyObj.style.zIndex = -1; 
bodyObj.style.background = "#999999"; 
var divObj = this.createComponent("div", this.generalSet); 

var txtObj = this.createComponent("p", this.txtSet); 
txtObj.innerHTML = arguments[0]; 
var btnObj = this.createComponent("button", this.btnSet); 
btnObj.innerHTML = this.btnSet.innerHTML; 
btnObj.onclick = function() { 
bodyObj.style.zIndex=0; 
bodyObj.style.background=""; 
bodyObj.removeChild(divObj); 
if(alertObj.isExist){ 
alertObj.isExist = false; 
} 
} 
divObj.appendChild(txtObj); 
divObj.appendChild(btnObj); 
bodyObj.appendChild(divObj); 
} 
} 
function show(s) { 
alertObj.show(s); 
} 
</script> 
</head> 
<body> 
<p onclick="show('inner test');">Click show alert</p> 
</body> 
</html>
Javascript 相关文章推荐
JS 常用校验函数
Mar 26 Javascript
深入理解JavaScript系列(1) 编写高质量JavaScript代码的基本要点
Jan 15 Javascript
你必须知道的JavaScript 变量命名规则详解
May 07 Javascript
根据身份证号自动输出相关信息(籍贯,出身日期,性别)
Nov 15 Javascript
利用JS进行图片的切换即特效展示图片
Dec 03 Javascript
Grunt入门教程(自动任务运行器)
Aug 06 Javascript
JavaScript实现的微信二维码图片生成器的示例
Oct 26 Javascript
Java中int与integer的区别(基本数据类型与引用数据类型)
Feb 19 Javascript
jQuery 实现批量提交表格多行数据的方法
Aug 09 jQuery
解决element-ui中下拉菜单子选项click事件不触发的问题
Aug 22 Javascript
关于AngularJS中ng-repeat不更新视图的解决方法
Sep 30 Javascript
Vue核心概念Getter的使用方法
Jan 18 Javascript
控制台报错object is not a function的解决方法
Aug 24 #Javascript
Jquery仿IGoogle实现可拖动窗口示例代码
Aug 22 #Javascript
JavaScript验证电子邮箱的函数
Aug 22 #Javascript
jQuery实现列表自动滚动循环滚动展示新闻
Aug 22 #Javascript
用jquery修复在iframe下的页面锚点失效问题
Aug 22 #Javascript
JavaScript实现的石头剪刀布游戏源码分享
Aug 22 #Javascript
一个很有趣3D球状标签云兼容IE8
Aug 22 #Javascript
You might like
Terran魔法科技
2020/03/14 星际争霸
php md5下16位和32位的实现代码
2008/04/09 PHP
php 上传功能实例代码
2010/04/13 PHP
用PHP实现小写金额转换大写金额的代码(精确到分)
2012/01/10 PHP
php生成百度sitemap站点地图类函数实例
2014/10/17 PHP
PHP中$this和$that指针使用实例
2015/01/06 PHP
thinkphp自带验证码全面解析
2016/09/18 PHP
php并发加锁示例
2016/10/17 PHP
JQuery 操作/获取table具体代码
2013/06/13 Javascript
jQuery prev ~ siblings选择器使用介绍
2013/08/09 Javascript
jquery修改网页背景颜色通过css方法实现
2014/06/06 Javascript
Extjs Label的 fieldLabel和html属性值对齐的方法
2014/06/15 Javascript
jquery根据锚点offset值实现动画切换
2014/09/11 Javascript
jquery实现可旋转可拖拽的文字效果代码
2016/01/27 Javascript
详解JSON1:使用TSQL查询数据和更新JSON数据
2016/11/21 Javascript
javascript 正则表达式分组、断言详解
2017/04/20 Javascript
JS中appendChild追加子节点无效的解决方法
2018/10/14 Javascript
vue多级复杂列表展开/折叠及全选/分组全选实现
2018/11/05 Javascript
使用koa2创建web项目的方法步骤
2019/03/12 Javascript
详解Vue中的scoped及穿透方法
2019/04/18 Javascript
详解vue-cli+es6引入es5写的js(两种方法)
2019/04/19 Javascript
Django+Vue实现WebSocket连接的示例代码
2019/05/28 Javascript
vue单元格多列合并的实现
2020/11/26 Vue.js
[00:36]DOTA2风云人物相约完美“圣”典 12月17日不见不散
2016/11/30 DOTA
[48:48]完美世界DOTA2联赛PWL S3 Magama vs GXR 第一场 12.19
2020/12/24 DOTA
python自动化报告的输出用例详解
2018/05/30 Python
tensorflow 获取变量&amp;打印权值的实例讲解
2018/06/14 Python
django中SMTP发送邮件配置详解
2019/07/19 Python
python中线程和进程有何区别
2020/06/17 Python
聊聊python中的循环遍历
2020/09/07 Python
Python爬虫入门教程02之笔趣阁小说爬取
2021/01/24 Python
html5中如何将图片的绝对路径转换成文件对象
2018/01/11 HTML / CSS
股东出资证明书范例
2014/10/04 职场文书
2015年社区教育工作总结
2015/05/13 职场文书
少先队中队工作总结
2015/08/14 职场文书
Vue 打包后相对路径的引用问题
2022/06/05 Vue.js