js重写alert控件(适合学习js的新手朋友)
纯粹是为了打发时间,手写了一个JS的alert控件。
代码如下:
<html>
<head>
<scripttype="text/javascript">
varalertObj=newObject();
vargeneralStyle={
zIndex:0,
width:"200px",
height:"100px",
border:"thicksolid#CCCCCC",
background:"#FFFFFF",
position:"absolute",
top:"35%",
left:"40%"
}
vartxtStyle={
textAlign:"center"
}
varbtnStyle={
position:"absolute",
left:"40%",
top:"70%",
color:"#333333",
fontWeight:"bold",
outlineColor:"#3366FF",
outlineStyle:"ridge",
outlineWidth:"thin",
//outline:"thinridge#3366FF",
innerHTML:"OK"
}
alertObj={
generalSet:generalStyle,
txtSet:txtStyle,
btnSet:btnStyle,
isExist:false
}
alertObj.createComponent=function(){
varcomponent=document.createElement(arguments[0]);
varstyles=arguments[1];
for(varpropertyinstyles){
if(styles[property]!=null){
try{
component.style[property]=styles[property];
}catch(err){
document.write(err.name+":"+property+"<br/>");//setpropertyerror!
}
}
}
returncomponent;
}
alertObj.show=function(){
if(!this.isExist){
this.isExist=true;
varbodyObj=document.body;
bodyObj.style.zIndex=-1;
bodyObj.style.background="#999999";
vardivObj=this.createComponent("div",this.generalSet);
vartxtObj=this.createComponent("p",this.txtSet);
txtObj.innerHTML=arguments[0];
varbtnObj=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);
}
}
functionshow(s){
alertObj.show(s);
}
</script>
</head>
<body>
<ponclick="show('innertest');">Clickshowalert</p>
</body>
</html>