.

Alert提示框样式
分类:电脑知识 发表于:2013-12-13 17:10:49 评论(2)


旅途兄问提示框的样式要怎么修改,这个之前没研究过,只知道系统的提示框样式貌似不能修改,只能写仿提示框代码。像各大网站上用的漂亮的提示框,都是用DIV仿的。

后来在网上搜了一堆代码,大多都是挺复杂的,又是JS文件,又是图片,又是CSS的,整个都可以打包成一个插件了,而且很多功能都挺冗余。

最重要的是,那些代码都要ONCLICK激活动作,这明显还不能直接拿来用。

于是折腾了一天,才终于既找到简单的代码,又解决了用Response直接激活的问题。

不多说,直接上代码:

===JS代码===

<script type="text/javascript">

function Alert(str) {

var msgw,msgh,bordercolor;

var str="提交成功";

msgw=350;//提示窗口的宽度

msgh=110;//提示窗口的高度

titleheight=20 //提示窗口标题高度

bordercolor="#336699";//提示窗口的边框颜色

titlecolor="#99CCFF";//提示窗口的标题颜色

var sWidth,sHeight; //获取当前窗口尺寸

sWidth = document.body.offsetWidth;

sHeight = document.body.offsetHeight;

//背景div

var bgObj=document.createElement("div");

bgObj.setAttribute(′id′,′alertbgDiv′);

bgObj.style.position="absolute";

bgObj.style.top="0";

bgObj.style.background="#E8E8E8";

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";

bgObj.style.zIndex = "10000";

document.body.appendChild(bgObj);

//创建提示窗口的div

var msgObj = document.createElement("div")

msgObj.setAttribute("id","alertmsgDiv");

msgObj.setAttribute("align","center");

msgObj.style.background="white";

msgObj.style.border="1px solid " + bordercolor;

msgObj.style.position = "absolute";

msgObj.style.left = "50%";

msgObj.style.font="12px/1.6em Verdana, Geneva, Arial, Helvetica, sans-serif";

//窗口距离左侧和顶端的距离

msgObj.style.marginLeft = "-150px";

//窗口被卷去的高+(屏幕可用工作区高/2)-150

msgObj.style.top = document.body.scrollTop+(window.screen.availHeight/2)-150 +"px";

msgObj.style.width = msgw + "px";

msgObj.style.height = msgh + "px";

msgObj.style.textAlign = "center";

msgObj.style.lineHeight ="25px";

msgObj.style.zIndex = "10001";

document.body.appendChild(msgObj);

//提示信息标题

var title=document.createElement("h4");

title.setAttribute("id","alertmsgTitle");

title.setAttribute("align","left");

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.innerHTML="提示信息";

document.getElementById("alertmsgDiv").appendChild(title);

//提示信息

var txt = document.createElement("p");

txt.setAttribute("id","msgTxt");

txt.style.margin="16px 0";

txt.innerHTML = str;

document.getElementById("alertmsgDiv").appendChild(txt);

//创建一个input对象(提示框按钮)

var button=document.createElement("input");

button.setAttribute("type","button");

button.setAttribute("value","确认");

button.style.width="90px";

button.style.align="center";

button.style.padding="3px";

button.style.marginLeft="150px";

button.style.border="1px solid "+ bordercolor;

button.style.color="blue";

button.style.cursor="pointer";

button.onclick=function(){

document.body.removeChild(document.getElementById("alertbgDiv"));

document.getElementById("alertmsgDiv").removeChild(document.getElementById("alertmsgTitle"));

document.body.removeChild(document.getElementById("alertmsgDiv"));

window.location=document.referrer;

}

document.getElementById("alertmsgDiv").appendChild(button);

//设置自动关闭时间,去掉这段代码将不会自动关闭

window.setTimeout("closewin()",5000);

}

function closewin() {

document.body.removeChild(document.getElementById("alertbgDiv"));

document.getElementById("alertmsgDiv").removeChild(document.getElementById("alertmsgTitle"));

document.body.removeChild(document.getElementById("alertmsgDiv"));

location.href=document.referrer;

}

</script>

===ASP调用===

<%

Response.Write("<script type=""text/javascript"" language=""javascript"">window.onload=Alert;</script>")

%>

===onclick调用===

<input type="button" value="弹出alert框" onClick="Alert(′提交成功<br>还可以直接书写HTML代码′)">

  
邮箱: 密码:
  • 农夫三拳 (2013-12-15 19:30:35)
    其实和页面放个DIV没区别,这个只是写成了插件形式而已。 这家伙很懒
    • 阿和 博主 (2013-12-15 20:58:18)
      是的说,不过我还是习惯用系统的alert提示框,功能太多的话就感觉太花哨了。