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 相关文章推荐
使用Post提交时须将空格转换成加号的解释
Jan 14 Javascript
向左滚动文字 js代码效果
Aug 17 Javascript
通过js来制作复选框的全选和不选效果
May 22 Javascript
AngularJS iframe跨域打开内容时报错误的解决办法
Jan 26 Javascript
javascript中indexOf技术详解
May 07 Javascript
jQuery仅用3行代码实现的显示与隐藏功能完整实例
Oct 08 Javascript
Bootstrap和Java分页实例第二篇
Dec 23 Javascript
canvas时钟效果
Feb 16 Javascript
JS事件绑定的常用方式实例总结
Mar 02 Javascript
详解vue移动端项目代码拆分记录
Mar 15 Javascript
小程序两种滚动公告栏的实现方法
Sep 17 Javascript
Vue实现验证码功能
Dec 03 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
上海牌131型七灯四波段四喇叭一级收音机
2021/03/02 无线电
比较时间段一与时间段二是否有交集的php函数
2011/05/31 PHP
PHP imagecreatefrombmp 从BMP文件或URL新建一图像
2012/07/16 PHP
php防注入,表单提交值转义的实现详解
2013/06/10 PHP
windows下配置apache+php+mysql时出现问题的处理方法
2014/06/20 PHP
php实现socket推送技术的示例
2017/12/20 PHP
Prototype使用指南之ajax
2007/01/10 Javascript
超级24小时弹窗代码 24小时退出弹窗代码 100%弹窗代码(IE only)
2010/06/11 Javascript
JS版的date函数(和PHP的date函数一样)
2014/05/12 Javascript
javascript获取当前的时间戳的方法汇总
2015/07/26 Javascript
用headjs来管理和加载js 提高网站加载速度
2016/11/29 Javascript
jQuery插件FusionCharts绘制的2D双面积图效果示例【附demo源码】
2017/04/11 jQuery
Vue的H5页面唤起支付宝支付功能
2019/04/18 Javascript
Python遍历目录的4种方法实例介绍
2015/04/13 Python
win系统下为Python3.5安装flask-mongoengine 库
2016/12/20 Python
Flask数据库迁移简单介绍
2017/10/24 Python
浅谈pycharm下找不到sqlalchemy的问题
2018/12/03 Python
python多进程下实现日志记录按时间分割
2019/07/22 Python
Python+opencv+pyaudio实现带声音屏幕录制
2019/12/23 Python
Python动态强类型解释型语言原理解析
2020/03/25 Python
Django windows使用Apache实现部署流程解析
2020/10/12 Python
python中slice参数过长的处理方法及实例
2020/12/15 Python
纯CSS3发光分享按钮的实现教程
2014/09/06 HTML / CSS
计算机系毕业生推荐信
2013/11/06 职场文书
大学生学期自我鉴定
2014/03/19 职场文书
参观邀请函范文
2015/02/02 职场文书
产品质量保证书范本
2015/02/27 职场文书
幼儿园安全教育月活动总结
2015/05/08 职场文书
让子弹飞观后感
2015/06/11 职场文书
教师继续教育反思周记
2015/06/25 职场文书
中国梦宣传标语口号
2015/12/26 职场文书
我对PyTorch dataloader里的shuffle=True的理解
2021/05/20 Python
新手必备之MySQL msi版本下载安装图文详细教程
2021/05/21 MySQL
Win11任务栏太宽了怎么办?一招解决Win11任务栏太宽问题
2021/11/21 数码科技
教你使用Python获取QQ音乐某个歌手的歌单
2022/04/03 Python
关于Redis的主从复制及哨兵问题
2022/06/16 Redis