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 相关文章推荐
JsEasy简介 JsEasy是什么?与下载
Mar 07 Javascript
juqery 学习之三 选择器 子元素与表单
Nov 25 Javascript
javascript 事件处理、鼠标拖动效果实现方法详解
May 11 Javascript
JavaScript保留两位小数的2个自定义函数
May 05 Javascript
js使用for循环查询数组中是否存在某个值
Aug 12 Javascript
jQuery原理系列-css选择器的简单实现
Jun 07 Javascript
JS实现双击内容变为可编辑状态
Mar 03 Javascript
zTree树形插件异步加载方法详解
Jun 14 Javascript
angular框架实现全选与单选chekbox的自定义
Jul 06 Javascript
Vue学习之路之登录注册实例代码
Jul 06 Javascript
Vue resource中的GET与POST请求的实例代码
Jul 21 Javascript
JS实现手写parseInt的方法示例
Sep 24 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
编写PHP的安全策略
2006/10/09 PHP
在字符串中把网址改成超级链接
2006/10/09 PHP
第六章 php目录与文件操作
2011/12/30 PHP
php实现网站留言板功能
2015/11/04 PHP
搜索附近的人PHP实现代码
2018/02/11 PHP
懒就要懒到底——鼠标自动点击(含时间判断)
2007/02/20 Javascript
javascript iframe编程相关代码
2009/12/28 Javascript
jquery插件制作 图片走廊 gallery
2012/08/17 Javascript
js实现页面转发功能示例代码
2013/08/05 Javascript
Javascript自定义函数判断网站访问类型是PC还是移动终端
2014/01/10 Javascript
认识Knockout及如何使用Knockout绑定上下文
2015/12/25 Javascript
JavaScript模仿Pinterest实现图片预加载功能
2016/10/25 Javascript
nodeJS实现简单网页爬虫功能的实例(分享)
2017/06/08 NodeJs
微信小程序获取手机系统信息的方法【附源码下载】
2017/12/07 Javascript
微信小程序wx:for循环的实例详解
2018/10/07 Javascript
微信小程序报错: thirdScriptError的错误问题
2020/06/19 Javascript
[01:35]辉夜杯战队访谈宣传片—LGD
2015/12/25 DOTA
[46:43]DOTA2上海特级锦标赛D组小组赛#1 EG VS COL第三局
2016/02/28 DOTA
[01:29:42]Liquid vs VP Supermajor决赛 BO 第一场 6.10
2018/07/05 DOTA
Python代理抓取并验证使用多线程实现
2013/05/03 Python
Python对两个有序列表进行合并和排序的例子
2014/06/13 Python
python使用urllib2实现发送带cookie的请求
2015/04/28 Python
python微信跳一跳游戏辅助代码解析
2018/01/29 Python
Python numpy 点数组去重的实例
2018/04/18 Python
解决python replace函数替换无效问题
2020/01/18 Python
详细分析Python可变对象和不可变对象
2020/07/09 Python
Python入门基础之数字字符串与列表
2021/02/01 Python
matplotlib阶梯图的实现(step())
2021/03/02 Python
html5声频audio和视频video等新特性详细说明
2012/12/26 HTML / CSS
介绍一下linux的文件权限
2014/07/20 面试题
创业计划书撰写原则
2014/01/25 职场文书
人力资源部经理助理岗位职责
2014/03/04 职场文书
新年团拜会主持词
2014/04/02 职场文书
培训简讯范文
2015/07/20 职场文书
导游词之西递宏村
2019/12/10 职场文书
变长双向rnn的正确使用姿势教学
2021/05/31 Python