js 自定义弹出 提示

/* JavaScript Document */

/* 页面MASK的对象ID */
var PAGE_MASK_ID = "page-mask-id";

/* 页面MASK对象的样式类名 */
var MASK_CLASS_NAME = "dlg-mask";

/* 页面UNMASK对象的样式类名 */
var UNMASK_CLASS_NAME = "dlg-unmask";

/* 页面对话框对象显示的样式类名 */
var DIALOG_CLASS_SHOW = "dialog-show";

/* 页面对话框对象隐藏的样式类名 */
var DIALOG_CLASS_HIDE = "dialog-hide";

var PAGE_IFRAME_MASK = "parge-iframe-for-mask-dialog";
var titleText = "提示";
var okText = "确定";
var cancelText = "取消";

/**
*
* @param id id
* @param contentText 提示内容
* @param promptCallback 点击确定时绑定的函数
*/
function showDialogs (id, contentText, promptCallback) {
createDialog(id, contentText, promptCallback);
appshowDialog(id, 300);
};
function removeChildNodes(dialog) {
var childs = dialog.childNodes;
for ( var i = childs.length - 1; i >= 0; i--) {
dialog.removeChild(childs[i]);
}
}
function createDialog(id, contentText, promptCallback) {
var dialog = document.getElementById(id);// dialog
if (!dialog) {
dialog = document.createElement("div");
dialog.id = id;
}
removeChildNodes(dialog);
dialog.className = DIALOG_CLASS_SHOW;
var u1 = document.createElement("U");
u1.className = "f1";
var u2 = document.createElement("U");
u2.className = "f2";
var u3 = document.createElement("U");
u3.className = "f3";
dialog.appendChild(u1);
dialog.appendChild(u2);
dialog.appendChild(u3);

var titleDiv = document.createElement("div");
titleDiv.className = "d_top";
dialog.appendChild(titleDiv);
var titleName = document.createElement("span");
titleName.innerHTML = titleText;
titleDiv.appendChild(titleName);

var imageherf = document.createElement("a");
imageherf.href = "javascript:void(0);";
var imageClose = document.createElement("img");
imageClose.src = "/rts/images/pupsnow_003.gif";
imageClose.border = "0";
imageherf.appendChild(imageClose);
titleDiv.appendChild(imageherf);
var content = document.createElement("div");
content.className = "d_body";
var promptImage = document.createElement("img");
promptImage.src = "/rts/images/!.png";
promptImage.border = "0";
promptImage.align = "absmiddle";
content.appendChild(promptImage);
content.appendChild(document.createTextNode(contentText));

content.appendChild(document.createElement("br"));
content.appendChild(document.createElement("br"));
dialog.appendChild(content);

var center = document.createElement("div");
center.align = "center";
content.appendChild(center);
var okButton = document.createElement("input");
okButton.type = "button";
okButton.className = "alert-okButton";
okButton.value = okText;
center.appendChild(okButton);

var cancelButton = document.createElement("input");
cancelButton.type = "button";
cancelButton.className = "alert-cancelButton";
cancelButton.value = cancelText;
center.appendChild(cancelButton);

var foot = document.createElement("div");
foot.className = "d_foot";
dialog.appendChild(foot);

var u4 = document.createElement("U");
u1.className = "f1";
var u5 = document.createElement("U");
u2.className = "f2";
var u6 = document.createElement("U");
u3.className = "f3";
dialog.appendChild(u6);
dialog.appendChild(u5);
dialog.appendChild(u4);

document.body.appendChild(dialog);

okFunction = function() {
cancel(id);
if (promptCallback)
promptCallback(id);
};

cancelFunction = function hideDialog() {
cancel(id);
};
imageherf.onclick = cancelFunction;
okButton.onclick = okFunction;
cancelButton.onclick = cancelFunction;
appshowDialog(id, 300);
}
function appshowDialog(dialog, width) {
if ((typeof dialog) == "string") {
dialog = document.getElementById(dialog);
}
if (!dialog) {
return;
}
dialogMask();
/* 改变样式 */
dialog.className = DIALOG_CLASS_SHOW;
dialog.style.display = '';

dialog.style.width = width + "px";
// dialog.style.height = height + "px";
/* 可拖动 */
// drag(dialog);
/* 调整位置至居中 */
center(dialog, width);
if (navigator.appName == 'Microsoft Internet Explorer') {
var mif = document.getElementById(PAGE_IFRAME_MASK);
if (!mif) {
mif = document.createElement('iframe');
mif.className = 'mask-if';
mif.id = PAGE_IFRAME_MASK;
document.body.appendChild(mif);
}
mif.style.top = dialog.style.top;
mif.style.left = dialog.style.left;
mif.style.width = width + "px";
mif.style.height = parseInt(dialog.offsetHeight, 10) + "px";
mif.style.display = 'block';
}
}

/* 页面MASK */
function dialogMask() {
doMask(true);
window.onresize = onWinResize;
}

/* 当窗口大小改变时,如果是mask状态,则调整大小,以遮盖整个页面 */
function onWinResize() {
var objMask = document.getElementById(PAGE_MASK_ID);
if (objMask == null) {
return;
}
if (objMask.className != MASK_CLASS_NAME) {
return;
}
var width;
var height;
if (navigator.appName == 'Microsoft Internet Explorer') {
width = document.documentElement.scrollWidth;
height = document.documentElement.scrollHeight;
} else {
width = document.body.scrollWidth;
height = document.body.scrollHeight;
}
objMask.style.width = width + "px";
objMask.style.height = height + "px";
}/* onWinResize */
function doMask(mask) {
var width;
var height;
if (navigator.appName == 'Microsoft Internet Explorer') {
width = document.documentElement.scrollWidth;
height = document.documentElement.scrollHeight;
} else {
if (document.documentElement.scrollHeight) {
width = document.documentElement.scrollWidth;
height = document.documentElement.scrollHeight;
} else {
width = document.body.scrollWidth;
height = document.body.scrollHeight;
}
}
/* 显示MASK */
var objMask = document.getElementById(PAGE_MASK_ID);
if (!objMask) {
objMask = document.createElement("div");
objMask.id = PAGE_MASK_ID;
document.body.appendChild(objMask);
}
objMask.className = mask ? MASK_CLASS_NAME : UNMASK_CLASS_BAME;
objMask.style.width = width + "px";
objMask.style.height = height + "px";
}/* doMask(mask) */

/* 对话框居中,参数:dlgId对话框div的id */
function center(dialog, width) {
if ((typeof dialog) == "string") {
dialog = document.getElementById(dialog);
}
if (dialog == null && dialog.style.display == "none") {
return;
}
var left = 8;
var top = 8;
if (window.innerWidth) {
left = window.pageXOffset + ((window.innerWidth - width) / 2 - 32)
+ "px";
top = window.pageYOffset + ((window.innerHeight - dialog.offsetHeight))
/ 2 + "px";
} else {
var scrolled = 0;
if (document.documentElement && document.documentElement.scrollTop) {
scrolled = document.documentElement.scrollTop;
} else if (document.body) {
scrolled = document.body.scrollTop;
}
var doc = document.documentElement;
left = (doc.scrollLeft + (doc.offsetWidth - width) / 2 - 32) + "px";
top = scrolled
+ (document.documentElement.offsetHeight - dialog.offsetHeight)
/ 2 + "px";
}
dialog.style.left = left;
dialog.style.top = top;
}/* center(dlgId, width, height) */

function cancel(dialog) {
var mif = document.getElementById(PAGE_IFRAME_MASK);
if (mif) {
mif.style.display = 'none';
}
if ((typeof dialog) == "string") {
dialog = document.getElementById(dialog);
}
if (dialog != null) {
dialog.className = DIALOG_CLASS_HIDE;
}
dlgunmask();
}/* cancel(dlgId) */

/* 页面unmask */
function dlgunmask() {
var objMask = document.getElementById(PAGE_MASK_ID);
if (objMask != null) {
objMask.className = UNMASK_CLASS_NAME;
}
window.onresize = null;
}
[quote]生成的html[/quote]
<div id="dia" class="dialog-show" style="width: 300px; left: 538px; top: 310.5px;"><u class="f1"></u><u class="f2"></u><u class="f3"></u><div class="d_top"><span>提示</span><a href="javascript:void(0);"><img border="0" src="/rts/images/pupsnow_003.gif"></a></div><div class="d_body"><img border="0" align="absmiddle" src="/rts/images/!.png">预约设备失败,不能预约过去的时间段<br><br><div align="center"><input type="button" class="alert-okButton" value="确定"><input type="button" class="alert-cancelButton" value="取消"></div></div><div class="d_foot"></div><u></u><u></u><u></u></div>
[quote]相关css[/quote]



.dialog-show {
padding: 0px;;
position: absolute;
display: block;
z-index: 5000;
}U {DISPLAY: block;OVERFLOW: hidden;HEIGHT: 1px}
U.f1 {background-color:#5cc;BACKGROUND: #5cc;MARGIN: 0px 3px}
U.f2 {background-color:#5cc;BORDER-RIGHT: #5cc 2px solid;MARGIN: 0px 1px;BORDER-LEFT: #5cc 2px solid}
U.f3 {background-color:#5cc;BORDER-RIGHT: #5cc 1px solid;MARGIN: 0px 1px;BORDER-LEFT: #5cc 1px solid}
.d_top{clear:both;overflow:hidden;background-color:#5cc;height:29px;vertical-align:bottom;}
.d_top a{float:right;margin-top:5px;margin-right:13px;padding-top:3px;width:18px;color:red;text-decoration:none;font-weight:bold;text-align:center;vertical-align:middle;}
.d_top span{float:left;font-size:14px;margin-left:15px;margin-top:8px; color:#FFF; font-weight:bold}
.d_body {BORDER-RIGHT: #5cc 3px solid;BORDER-LEFT: #5cc 3px solid;padding:10px; background-color:#fff; color:#666}
.d_foot{clear:both;overflow:hidden;background-color:#5cc;height:2px;}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值