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 相关文章推荐
Expandable &quot;Detail&quot; Table Rows
Aug 29 Javascript
突发奇想的一个jquery插件
Nov 19 Javascript
一行代码实现纯数据json对象的深度克隆实现思路
Jan 09 Javascript
浅析JavaScript原型继承的陷阱
Dec 03 Javascript
防止登录页面出现在frame中js代码
Jul 22 Javascript
javascript常用函数归纳整理
Oct 31 Javascript
jQuery实现提示密码强度的代码
Jul 15 Javascript
js文本框走动跑马灯效果代码分享
Aug 25 Javascript
Angular4编程之表单响应功能示例
Dec 13 Javascript
vue和webpack项目构建过程常用的npm命令详解
Jun 15 Javascript
微信小程序实现动态列表项的顺序加载动画
Jul 25 Javascript
vant组件中 dialog的确认按钮的回调事件操作
Nov 04 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
Syphon 秘笈
2021/03/03 冲泡冲煮
java EJB 加密与解密原理的一个例子
2008/01/11 PHP
php中取得URL的根域名的代码
2011/03/23 PHP
Php中文件下载功能实现超详细流程分析
2012/06/13 PHP
PHP编码转换
2012/11/05 PHP
php实现与erlang的二进制通讯实例解析
2014/07/23 PHP
CI框架入门示例之数据库取数据完整实现方法
2014/11/05 PHP
PHP编写RESTful接口
2016/02/23 PHP
javascript倒计时功能实现代码
2012/06/07 Javascript
深入理解JavaScript系列(18):面向对象编程之ECMAScript实现
2015/03/05 Javascript
AngularJs bootstrap搭载前台框架——基础页面
2016/09/01 Javascript
简单学习vue指令directive
2016/11/03 Javascript
浅谈js之字面量、对象字面量的访问、关键字in的用法
2016/11/20 Javascript
jQuery插件版本冲突的处理方法分析
2017/01/16 Javascript
node.js基于mongodb的搜索分页示例
2017/01/22 Javascript
javascript实现圣旨卷轴展开效果(代码分享)
2017/03/23 Javascript
浅谈Vue SPA 首屏加载优化实践
2017/12/15 Javascript
nodejs 最新版安装npm 的使用详解
2018/01/18 NodeJs
AngularJS中的作用域实例分析
2018/05/16 Javascript
JS实现简单日历特效
2020/01/03 Javascript
原生js实现无缝轮播图
2020/01/11 Javascript
vue使用原生swiper代码实例
2020/02/05 Javascript
Python实现3行代码解简单的一元一次方程
2014/08/18 Python
深入讲解Python函数中参数的使用及默认参数的陷阱
2016/03/13 Python
python爬取拉勾网职位数据的方法
2018/01/24 Python
详解Python中import机制
2020/09/11 Python
将SVG图引入到HTML页面的实现
2019/09/20 HTML / CSS
高中军训广播稿
2014/01/14 职场文书
工厂门卫岗位职责范本
2014/04/04 职场文书
大一新生学期自我评价
2014/04/09 职场文书
领导班子作风建设年个人整改措施
2014/09/29 职场文书
师德先进个人事迹材料
2014/12/19 职场文书
司法廉洁教育心得体会
2016/01/20 职场文书
MySQL 存储过程的优缺点分析
2021/05/20 MySQL
python内置进制转换函数的操作
2021/06/02 Python
Vue全局事件总线你了解吗
2022/02/24 Vue.js