`

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;
}
引用
生成的html
<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>
引用
相关css


.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;}
分享到:
评论

相关推荐

    arcgis api for js 自定义弹出信息提示框

    6. **测试与调试**:在开发过程中,记得对各种浏览器和设备进行测试,确保自定义弹出框在不同的环境下都能正常工作。使用开发者工具(如Chrome的DevTools)来检查CSS样式和JavaScript代码,找出并修复潜在的问题。 ...

    自定义弹出框提示框确认弹框

    在软件开发中,自定义弹出框提示框和确认弹框是常见的用户界面元素,用于向用户展示重要的信息、请求用户的确认或输入。这些组件在交互设计中扮演着至关重要的角色,因为它们能够中断用户的操作流程,吸引注意力,并...

    自定义弹出窗口

    在IT行业中,自定义弹出窗口是一种常见的交互设计技术,特别是在需要用户输入信息或执行特定操作但不希望离开当前页面的情况下。自定义弹出窗口,正如其名,允许开发者根据需求设计并构建出与系统默认样式不同的...

    自定义JavaScript弹出框组件

    自定义JavaScript弹出框组件广泛应用于各种场景,如消息提示、用户确认操作、表单验证错误显示、图片预览等。通过灵活地调整组件的配置,可以轻松地适应不同的UI设计和功能需求。 总结,自定义JavaScript弹出框组件...

    自定义弹出框样式 alert修改

    ### 自定义弹出框样式 alert修改 在网页开发过程中,我们经常会遇到需要向用户展示提示信息的情况。传统的JavaScript `alert`方法虽然简单易用,但其样式固定且无法自定义,这在追求用户体验和界面美观的现代Web...

    自定义弹出层

    在网页设计和开发中,自定义弹出层是一种常见的交互元素,用于显示额外的信息或功能,如警告提示、用户确认对话框、表单输入、图片预览等。自定义弹出层允许开发者根据项目需求调整样式和内容,以提供更符合品牌形象...

    简单自定义弹出框

    本项目名为“简单自定义弹出框”,显然旨在提供一个轻量级且可定制的解决方案,帮助开发者轻松地在网页应用中实现弹出框功能。这个插件可能包含了HTML、CSS和JavaScript三个主要部分,分别对应了页面结构、样式设计...

    17、Jquery支持自定义弹出窗口插件

    本主题将深入探讨如何使用jQuery实现自定义弹出窗口插件,这对于创建交互式用户界面至关重要。 首先,我们需要理解什么是弹出窗口。弹出窗口通常是在主页面上覆盖一层半透明或全屏的元素,用来显示额外的信息、提示...

    可自定义js弹出层动画特效.zip

    在这个"可自定义js弹出层动画特效.zip"压缩包中,我们找到了一个JavaScript弹出层插件,它专门设计用来增强用户体验,提供多样化的弹出层显示方式。 首先,让我们了解一下弹出层(Popup Layer)的概念。弹出层是在...

    自定义 jquery 弹出框 demo1

    在IT行业中,jQuery是一个广泛使用的JavaScript库,它简化了HTML文档遍历...这样的弹出框可以灵活地应用于各种场景,如警告提示、用户交互等。通过这个例子,开发者可以学习到如何结合这三种技术来增强网站的用户体验。

    JS弹出自定义菜单+对话框+提示框大全

    在JavaScript编程中,创建自定义菜单、对话框和提示框是增强用户交互体验的重要...在提供的"JS弹出自定义菜单+对话框+提示框大全"压缩包中,可能包含了实现这些功能的代码示例和教程,你可以通过学习和实践来加深理解。

    多种自定义弹出框

    本话题主要围绕"多种自定义弹出框"这一主题展开,我们将深入探讨artDialog-master弹出框及其与Query插件的结合使用,如何实现自定义样式以及其在不同浏览器下的兼容性。 首先,artDialog是一款功能强大的JavaScript...

    自定义 js 提示框

    因此,自定义弹出窗口和遮挡层成为了一种解决方案。 `prompt`函数用于获取用户输入,它会显示一个对话框,包含一个可编辑的文本框和两个按钮(通常是“确定”和“取消”)。虽然简单,但它的外观和交互体验难以调整...

    jQuery从不同方向自定义弹出层代码.zip

    "jQuery从不同方向自定义弹出层代码"这款插件,正如其名,提供了从不同方向弹出弹层的功能,增强了用户交互体验和界面的动态感。 首先,jQuery PopupLayer插件的核心是jQuery库,这是一款广泛使用的JavaScript库,...

    JQ 自定义弹出层

    在网页设计中,自定义弹出层常用于显示警告、提示信息、表单或任何需要用户关注的内容,而无需离开当前页面。 描述中的 "NULL" 表示没有具体的实现细节,但我们可以根据常见实践来讨论自定义弹出层的实现过程。通常...

    JS弹出层对话框,Tooltip提示,Msg消息框

    JS弹出层对话框插件源码,包含弹出层对话框和Tooltip提示框,消息框等多种功能,兼容主流浏览器(注:不兼容IE9以下版本的IE浏览器)。内置4种颜色的皮肤,且可以自定义对话框样式,可设置对话框位置。Tooltip可以...

    自定义弹出输入框

    在IT领域,自定义弹出输入框是一种常见的用户界面(UI)设计技术,它允许用户在主界面之外提供额外的交互空间,以便输入数据或执行特定操作。这通常用于需要临时获取用户信息的情况,比如登录、搜索或者设置等场景。...

    支持自定义弹出窗口插件PopModal.zip

    "支持自定义弹出窗口插件PopModal"是专为满足这种需求而设计的JavaScript插件,它具有丰富的功能和高度的定制性。这款插件的核心特点在于其对用户交互的敏感响应,包括鼠标滑过时的信息提示以及点击触发的弹出层展示...

    自定义精美的弹出窗体

    本文将深入探讨如何使用JavaScript来实现一个精美的自定义弹出窗体,以及如何通过回调函数和自定义界面来增强其功能。 首先,"自定义精美的弹出窗体"通常指的是在网页上动态生成的对话框,这些对话框可以在用户与...

Global site tag (gtag.js) - Google Analytics