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控制组织结构图可以任意拖拽到指定位置
Jan 17 Javascript
JavaScript里四舍五入函数round用法实例
Apr 06 Javascript
Bootstrap布局方式详解
May 27 Javascript
AngularJS基础 ng-list 指令详解及示例代码
Aug 02 Javascript
AngularJS实现一次监听多个值发生的变化
Aug 31 Javascript
js/jq仿window文件夹框选操作插件
Mar 08 Javascript
javaScript实现复选框全选反选事件详解
Nov 20 Javascript
vue超时计算的组件实例代码
Jul 09 Javascript
Vue press 支持图片放大功能的实例代码
Nov 09 Javascript
mockjs+vue页面直接展示数据的方法
Dec 19 Javascript
jquery实现商品sku多属性选择功能(商品详情页)
Dec 20 jQuery
Vue实现 点击显示再点击隐藏效果(点击页面空白区域也隐藏效果)
Jan 16 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
ADODB的数据库封包程序库
2006/12/31 PHP
Optimizer与Debugger兼容性问题的解决方法
2008/12/01 PHP
PHP连接SQLServer2005 的问题解决方法
2010/07/19 PHP
PHP+Redis 消息队列 实现高并发下注册人数统计的实例
2018/01/29 PHP
php-fpm添加service服务的例子
2018/04/27 PHP
PHP filesize函数用法浅析
2019/02/15 PHP
php 策略模式原理与应用深入理解
2019/09/25 PHP
Javascript 面向对象 继承
2010/05/13 Javascript
js使浏览器窗口最大化实现代码(适用于IE)
2013/08/07 Javascript
javascript强大的日期函数代码分享
2013/09/04 Javascript
FireBug 调试JS入门教程 如何调试JS
2013/12/23 Javascript
JavaScript jQuery 中定义数组与操作及jquery数组操作
2015/12/18 Javascript
使用Javascript实现选择下拉菜单互移并排序
2016/02/23 Javascript
JavaScript实现点击文本自动定位到下拉框选中操作
2016/06/15 Javascript
NodeJS使用formidable实现文件上传
2016/10/27 NodeJs
微信小程序 wxapp内容组件 text详细介绍
2016/10/31 Javascript
VueJs与ReactJS和AngularJS的异同点
2016/12/12 Javascript
深入理解javascript中concat方法
2016/12/12 Javascript
微信小程序 数组中的push与concat的区别
2017/01/05 Javascript
nodejs 图解express+supervisor+ejs的用法(推荐)
2017/09/08 NodeJs
jQuery基于随机数解决中午吃什么去哪吃问题示例
2018/12/29 jQuery
Vue数据绑定实例写法
2019/08/06 Javascript
微信小程序 导入图标实现过程详解
2019/10/11 Javascript
[26:50]2018完美盛典DOTA2表演赛
2018/12/17 DOTA
Python实现全角半角字符互转的方法
2016/11/28 Python
基于Python3.6+splinter实现自动抢火车票
2018/09/25 Python
解决Pycharm运行时找不到文件的问题
2018/10/29 Python
关于Pycharm无法debug问题的总结
2019/01/19 Python
python 实现提取某个索引中某个时间段的数据方法
2019/02/01 Python
详解python metaclass(元类)
2020/08/13 Python
Css3+Js制作漂亮时钟(附源码)
2013/04/24 HTML / CSS
卫生系统先进事迹
2014/05/13 职场文书
球队口号
2014/06/18 职场文书
神农溪导游词
2015/02/11 职场文书
介绍信怎么写
2015/05/05 职场文书
Springboot使用Spring Data JPA实现数据库操作
2021/06/30 Java/Android