Js 订制自己的AlertBox(信息提示框)

 更新时间:2009年01月09日 00:52:43   作者:  
这是一篇译文,实例分析制作自定义的信息提示框的实现代码
本文制作一个用户自定义的AlertBox,效果如图:

js文件中插入如下代码:
复制代码 代码如下:

// JScript 文件
// constants to define the title of the alert and button text.
var ALERT_TITLE = "Oops!";
var ALERT_BUTTON_TEXT = "Close";
// over-ride the alert method only if this a newer browser.
// Older browser will see standard alerts
if(document.getElementById) {
window.alert = function(txt) {
createCustomAlert(txt);
}
}
function createCustomAlert(txt) {
// shortcut reference to the document object
d = document;
// if the modalContainer object already exists in the DOM, bail out.
if(d.getElementById("modalContainer")) return;
// create the modalContainer div as a child of the BODY element
mObj = d.getElementsByTagName("body")[0].appendChild(d.createElement("div"));
mObj.id = "modalContainer";
// make sure its as tall as it needs to be to overlay all the content on the page
mObj.style.height = document.documentElement.scrollHeight + "px";
// create the DIV that will be the alert
alertObj = mObj.appendChild(d.createElement("div"));
alertObj.id = "alertBox";
// MSIE doesnt treat position:fixed correctly, so this compensates for positioning the alert
if(d.all && !window.opera) alertObj.style.top = document.documentElement.scrollTop + "px";
// center the alert box
alertObj.style.left = (d.documentElement.scrollWidth - alertObj.offsetWidth)/2 + "px";
// create an H1 element as the title bar
h1 = alertObj.appendChild(d.createElement("h1"));
h1.appendChild(d.createTextNode(ALERT_TITLE));
// create a paragraph element to contain the txt argument
msg = alertObj.appendChild(d.createElement("p"));
msg.innerHTML = txt;
// create an anchor element to use as the confirmation button.
btn = alertObj.appendChild(d.createElement("a"));
btn.id = "closeBtn";
btn.appendChild(d.createTextNode(ALERT_BUTTON_TEXT));
btn.href = "#";
// set up the onclick event to remove the alert when the anchor is clicked
btn.onclick = function() { removeCustomAlert();return false; }
// removes the custom alert from the DOM function removeCustomAlert() {
// document.getElementsByTagName("body")[0].removeChild(document.getElementById("modalContainer"));
}
// removes the custom alert from the DOM
function removeCustomAlert()
{
document.getElementsByTagName("body")[0].removeChild(document.getElementById("modalContainer"));
}

将如下代码粘贴到你的HTML你的HTML的HEAD部分。 
复制代码 代码如下:

<script type="text/javascript" src="include/customAlertBox.js"></script>
<!-- Paste this code into your external style sheet or the
CSS section of your HTML document -->
<style type="text/css">
#modalContainer {
background-color:transparent;
position:absolute;
width:100%;
height:100%;
top:0px;
left:0px;
z-index:10000;
}
#alertBox {
position:relative;
width:300px;
min-height:100px;
margin-top:50px;
border:2px solid #000;
background-color:#F2F5F6;
background-image:url(alert.png);
background-repeat:no-repeat;
background-position:20px 30px;
}
#modalContainer > #alertBox {
position:fixed;
}
#alertBox h1 {
margin:0;
font:bold 0.9em verdana,arial;
background-color:#78919B;
color:#FFF;
border-bottom:1px solid #000;
padding:2px 0 2px 5px;
}
#alertBox p {
font:0.7em verdana,arial;
height:50px;
padding-left:5px;
margin-left:55px;
}
#alertBox #closeBtn {
display:block;
position:relative;
margin:5px auto;
padding:3px;
border:1px solid #000;
width:70px;
font:0.7em verdana,arial;
text-transform:uppercase;
text-align:center;
color:#FFF;
background-color:#78919B;
text-decoration:none;
}
</style>

在你的HTML文档的Body部分插入如下代码:
复制代码 代码如下:

<input type="button" value = "Test the alert" onclick="alert('This is a custom alert dialog that was created by overriding the window.alert method.');">

相关文章

  • 在小程序中推送模板消息的实现方法

    在小程序中推送模板消息的实现方法

    这篇文章主要介绍了在小程序中推送模板消息的实现方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-07-07
  • 一文详解JavaScript中的URL和URLSearchParams

    一文详解JavaScript中的URL和URLSearchParams

    URL,称为统一资源定位器,指互联网上能找到资源定位的字符串,而URLSearchParams对象是专门用于处理url网址信息中的查询字符串,本文就来带大家深入了解一下二者的使用
    2023-05-05
  • 基于JavaScript实现继承机制之构造函数+原型链混合方式的使用详解

    基于JavaScript实现继承机制之构造函数+原型链混合方式的使用详解

    本篇文章是对构造函数与原型链混合方式的使用进行了详细的分析介绍。需要的朋友参考下
    2013-05-05
  • 基于js判断浏览器是否支持webGL

    基于js判断浏览器是否支持webGL

    这篇文章主要介绍了基于js判断浏览器是否支持webGL,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04
  • 详解JavaScript对象的深浅复制

    详解JavaScript对象的深浅复制

    从层次上来看,对象的复制可以简单地分为浅复制和深复制,顾名思义,浅复制是指只复制一层对象的属性,不会复制对象中的对象的属性,对象的深复制会复制对象中层层嵌套的对象的属性。本文是我在复制对象方面的一些心得总结,由浅复制到深复制,感兴趣的朋友一起学习吧
    2017-03-03
  • IE6下拉框图层问题探讨及解决

    IE6下拉框图层问题探讨及解决

    有关IE6下拉框图层问题,一直困扰着大家,下面有个不错的方法大家可以尝试操作下
    2014-01-01
  • 前端如何判断多个请求完毕的实战及常见问题

    前端如何判断多个请求完毕的实战及常见问题

    在前端开发中,判断多个请求完毕是一个常见需求,这篇文章主要介绍了前端如何判断多个请求完毕实战及常见问题的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2025-03-03
  • 根据当前时间在jsp页面上显示上午或下午

    根据当前时间在jsp页面上显示上午或下午

    这篇文章主要介绍了根据当前时间不同在jsp页面上显示上午或下午,需要的朋友可以参考下
    2014-08-08
  • js禁止页面复制功能禁用页面右键菜单示例代码

    js禁止页面复制功能禁用页面右键菜单示例代码

    禁止页面复制功能、禁用页面右键菜单等等在浏览网页时想必大家都有遇到过吧,下面为大家详细介绍下使用js是如何实现的,感兴趣的朋友可以参考下
    2013-08-08
  • JavaScript如何动态创建table表格

    JavaScript如何动态创建table表格

    这篇文章主要介绍了JavaScript如何动态创建table表格,一些时候需要动态的创建和删除表格,接下来的文章中将为大家介绍下javascript是如何做到的,感兴趣的朋友不要错过
    2015-11-11

最新评论