A-A+
div模仿js中alert提示效果
我们如果使用js中alert提示效果,那是难看又吓人啊,经常会响一下然后再弹出一个对话框,下面我来利用js模仿出一个alert提示效果有需要的朋友可参考。
先来看js alert(),代码如下:
- <html>
- <head>
- <script type="text/javascript">
- function message()
- { //xiaohuboke.com
- alert("该提示框是通过 onload 事件调用的。")
- }
- </script>
- </head>
- <body onload="message()">
- </body>
- </html>
注:alert 方法有一个参数,即希望对用户显示的文本字符串。该字符串不是 HTML 格式。该消息框提供了一个“确定”按钮让用户关闭该消息框,并且该消息框是模式对话框,也就是说,用户必须先关闭该消息框然后才能继续进行操作.
下面看一个模仿代码,代码如下:
- <input type="button" value="点击这里" onclick="sAlert('测试效果<br>还可以直接书写HTML代码 <br>©
- 2006');" />
- <script type="text/javascript" language="javascript">
- function sAlert(str){
- var msgw,msgh,bordercolor;
- msgw=400;//提示窗口的宽度
- msgh=100;//提示窗口的高度
- bordercolor="#336699";//提示窗口的边框颜色
- titlecolor="#99CCFF";//提示窗口的标题颜色
- var sWidth,sHeight;
- sWidth=document.body.offsetWidth;
- sHeight=document.body.offsetHeight;
- var bgObj=document.createElement("div");
- bgObj.setAttribute('id','bgDiv');
- bgObj.style.position="absolute";
- bgObj.style.top="0";
- bgObj.style.background="#777";
- bgObj.style.filter="progid:DXImageTransform.Microsoft.Alpha
- (style=3,opacity=25,finishOpacity=75";
- bgObj.style.opacity="0.6";
- bgObj.style.left="0";
- bgObj.style.width=sWidth + "px";
- bgObj.style.height=sHeight + "px";
- document.body.appendChild(bgObj);
- var msgObj=document.createElement("div")
- msgObj.setAttribute("id","msgDiv");
- msgObj.setAttribute("align","center");
- msgObj.style.position="absolute";
- msgObj.style.background="white";
- msgObj.style.font="12px/1.6em Verdana, Geneva, Arial, Helvetica, sans-serif";
- msgObj.style.border="1px solid " + bordercolor;
- msgObj.style.width=msgw + "px";
- msgObj.style.height=msgh + "px";
- msgObj.style.top=(document.documentElement.scrollTop + (sHeight-msgh)/2) + "px";
- msgObj.style.left=(sWidth-msgw)/2 + "px";
- var title=document.createElement("h4");
- title.setAttribute("id","msgTitle");
- title.setAttribute("align","right");
- title.style.margin="0";
- title.style.padding="3px";
- title.style.background=bordercolor;
- title.style.filter="progid:DXImageTransform.Microsoft.Alpha(startX=20, startY=20,
- finishX=100, finishY=100,style=1,opacity=75,finishOpacity=100);";
- title.style.opacity="0.75";
- title.style.border="1px solid " + bordercolor;
- title.style.height="18px";
- title.style.font="12px Verdana, Geneva, Arial, Helvetica, sans-serif";
- title.style.color="white";
- title.style.cursor="pointer";
- title.innerHTML="关闭";
- title.onclick=function(){
- document.body.removeChild(bgObj);
- document.getElementById("msgDiv").removeChild(title);
- document.body.removeChild(msgObj);
- }
- document.body.appendChild(msgObj);
- document.getElementById("msgDiv").appendChild(title);
- var txt=document.createElement("p");
- txt.style.margin="1em 0"
- txt.setAttribute("id","msgTxt");
- txt.innerHTML=str;
- document.getElementById("msgDiv").appendChild(txt);
- } //xiaohuboke.com
- </script>