`

弹出层和等待窗口

阅读更多
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>一个简单的网页弹出层</title>
<style>
* {margin:0;}
body {font-size:9pt;}
#container div{margin-top:6px;}
#select_city h3{float:left;}
#main_city,#all_province {clear:both;}
#main_city div,#all_province div{width:588px;clear:left;}
#main_city h4,#all_province h4{float:left;display:inline;font-size:16px;}
#main_city div span,#all_province div span{margin:0 9px;cursor:pointer;font-size:14px;}
#float_lay{width:220px;height:122px;border:1px #787878 solid;position:absolute;background:#fff;z-index:999;display:none;}
</style>
<script type="text/javascript">
//弹出层
function openLayer(objId,conId){
var arrayPageSize   = getPageSize();//调用getPageSize()函数
var arrayPageScroll = getPageScroll();//调用getPageScroll()函数
if (!document.getElementById("popupAddr")){
//创建弹出内容层
var popupDiv = document.createElement("div");
//给这个元素设置属性与样式
popupDiv.setAttribute("id","popupAddr")
popupDiv.style.position = "absolute";
popupDiv.style.border = "1px solid #ccc";
popupDiv.style.background = "#fff";
popupDiv.style.zIndex = 99;
//创建弹出背景层
var bodyBack = document.createElement("div");
bodyBack.setAttribute("id","bodybg")
bodyBack.style.position = "absolute";
bodyBack.style.width = "100%";
bodyBack.style.height = (arrayPageSize[1] + 35 + 'px');
bodyBack.style.zIndex = 98;
bodyBack.style.top = 0;
bodyBack.style.left = 0;
bodyBack.style.filter = "alpha(opacity=50)";
bodyBack.style.opacity = 0.5;
bodyBack.style.background = "#ddf";
//实现弹出(插入到目标元素之后)
var mybody = document.getElementById(objId);
insertAfter(popupDiv,mybody);//执行函数insertAfter()
insertAfter(bodyBack,mybody);//执行函数insertAfter()
}
//显示背景层
document.getElementById("bodybg").style.display = "";
//显示内容层
var popObj=document.getElementById("popupAddr")
popObj.innerHTML = document.getElementById(conId).innerHTML;
popObj.style.display = "";
//让弹出层在页面中垂直左右居中(统一)
// popObj.style.width  = "600px";
// popObj.style.height = "400px";
// popObj.style.top  = arrayPageScroll[1] + (arrayPageSize[3] - 35 - 400) / 2 + 'px';
// popObj.style.left = (arrayPageSize[0] - 20 - 600) / 2 + 'px';
//让弹出层在页面中垂直左右居中(个性)
var arrayConSize=getConSize(conId)
popObj.style.top  = arrayPageScroll[1] + (arrayPageSize[3] - arrayConSize[1]) / 2-50 + 'px';
popObj.style.left = (arrayPageSize[0] - arrayConSize[0]) / 2 -30 + 'px';
}
//获取内容层内容原始尺寸
function getConSize(conId){
var conObj=document.getElementById(conId)
conObj.style.position = "absolute";
conObj.style.left=-1000+"px";
conObj.style.display="";
var arrayConSize=[conObj.offsetWidth,conObj.offsetHeight]
conObj.style.display="none";
return arrayConSize;
}
function insertAfter(newElement,targetElement){//插入
var parent = targetElement.parentNode;
if(parent.lastChild == targetElement){
parent.appendChild(newElement);
}
else{
parent.insertBefore(newElement,targetElement.nextSibling);
}
}
//获取滚动条的高度
function getPageScroll(){
var yScroll;
if (self.pageYOffset) {
yScroll = self.pageYOffset;
} else if (document.documentElement  &&  document.documentElement.scrollTop){
yScroll = document.documentElement.scrollTop;
} else if (document.body) {
yScroll = document.body.scrollTop;
}
arrayPageScroll = new Array('',yScroll)
return arrayPageScroll;
}
//获取页面实际大小
function getPageSize(){
var xScroll,yScroll;
if (window.innerHeight  &&  window.scrollMaxY){
xScroll = document.body.scrollWidth;
yScroll = window.innerHeight + window.scrollMaxY;
} else if (document.body.scrollHeight > document.body.offsetHeight){
sScroll = document.body.scrollWidth;
yScroll = document.body.scrollHeight;
} else {
xScroll = document.body.offsetWidth;
yScroll = document.body.offsetHeight;
}
var windowWidth,windowHeight;
if (self.innerHeight) {
windowWidth = self.innerWidth;
windowHeight = self.innerHeight;
} else if (document.documentElement  &&  document.documentElement.clientHeight) {
windowWidth = document.documentElement.clientWidth;
windowHeight = document.documentElement.clientHeight;
} else if (document.body) {
windowWidth = document.body.clientWidth;
windowHeight = document.body.clientHeight;
}
var pageWidth,pageHeight
if(yScroll < windowHeight){
pageHeight = windowHeight;
} else {
pageHeight = yScroll;
}
if(xScroll < windowWidth) {
pageWidth = windowWidth;
} else {
pageWidth = xScroll;
}
arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight)
return arrayPageSize;
}
//关闭弹出层
function closeLayer(){
document.getElementById("popupAddr").style.display = "none";
document.getElementById("bodybg").style.display = "none";
return false;
}
</script>
<script type="text/javascript">
//对“拖动点”定义:onMousedown="StartDrag(this)" onMouseup="StopDrag(this)" onMousemove="Drag(this)"即可
var move=false,oldcolor,_X,_Y;
function StartDrag(obj){  //定义准备拖拽的函数
obj.setCapture(); //对当前对象的鼠标动作进行跟踪
oldcolor=obj.style.backgroundColor;
obj.style.background="#999";
move=true;
//获取鼠标相对内容层坐标
var parentwin=document.getElementById("popupAddr");
_X=parentwin.offsetLeft-event.clientX
_Y=parentwin.offsetTop-event.clientY
}
function Drag(obj){        //定义拖拽函数
if(move){
var parentwin=document.getElementById("popupAddr");
parentwin.style.left=event.clientX+_X;
parentwin.style.top=event.clientY+_Y;
}
}
function StopDrag(obj){   //定义停止拖拽函数
obj.style.background=oldcolor;
obj.releaseCapture(); //停止对当前对象的鼠标跟踪
move=false;
}
</script>
</head>
<body>
<input name="Input"  id="test" value="点击弹出层" type="button" onclick="openLayer('test','test_con')" />
<div id="test_con" style="display:none">
<div id="tab" style="padding:8px;">
<div id="tabtop">
		<div id="tabtop-L"><strong>层的标题在这里</strong></div>
		<div id="tabtop-R" onclick="closeLayer()"><strong>[关闭层]</strong></div>
		<div>
			<table border="0" cellpadding="0" cellspacing="0">
			<tr>
					<td width="200 height="0">
					<strong style="color:red;font-size:20px">处理中...请等待...</strong>
					<marquee direction="right" scrollamount="3">
							<table style="font-size:1px;width:50px;height:20px;">
									<tr>
											<td bgcolor="#e5fee5"></td>
											<td bgcolor="#caf7ca"></td>
											<td bgcolor="#8feb90"></td>
									</tr>
							</table>
					</marquee>
					</td>
			</tr>
			</table>
		</div>
</div>
<div id="tabcontent">内容写在这里。。</div>
</div>
</div>
<br>
<br>
<input name="Input"  id="test3" value="可拖动层" type="button" onclick="openLayer('test3','test_con3')" />
<div id="test_con3" style="display:none">
<div id="tab3" style="width:360px;height:200px;background:#black;">
<div id="tabtop3">
<div id="tabtop-L3" onMousedown="StartDrag(this)" onMouseup="StopDrag(this)" onMousemove="Drag(this)"><strong style="color:red;font-size:20px">可拖动层的标题</strong></div>
<div id="tabtop-R3" onclick="closeLayer()"><strong>[关闭层]</strong></div>
		<div>
			<table border="0" cellpadding="0" cellspacing="0">
			<tr>
					<td width="200 height="0">
					<strong style="color:red;font-size:20px">处理中...请等待...</strong>
					<marquee direction="right" scrollamount="3">
							<table style="font-size:1px;width:50px;height:20px;">
									<tr>
											<td bgcolor="#e5fee5"></td>
											<td bgcolor="#caf7ca"></td>
											<td bgcolor="#8feb90"></td>
									</tr>
							</table>
					</marquee>
					</td>
			</tr>
			</table>
		</div>
</div>
<div id="tabcontent3" style="padding:8px">欢迎回来</div>
</div>
</div>
</body>
</html>
分享到:
评论

相关推荐

    弹出层效果

    弹出层,也称为模态对话框或浮动窗口,是在网页上以独立的、半透明的或者带有边框的窗口形式展示信息的一种元素,它能够暂时中断用户的操作流程,提供额外信息或者进行特定的交互操作。 本示例中的“弹出层效果”...

    弹出层登录窗口ajax登录验证

    标题中的“弹出层登录窗口ajax登录验证”指的是在网页设计中使用Ajax技术实现的弹出式登录窗口的验证功能。Ajax(Asynchronous JavaScript and XML)是一种创建动态网页的技术,它允许网页在不重新加载整个页面的...

    基于jquery的弹出层插件

    本文将深入探讨基于jQuery的弹出层插件,这个插件主要用于创建可拖动的非模态窗口,并且支持多种动态显示和隐藏效果。 首先,我们来理解什么是弹出层。弹出层是一种用户界面设计模式,它允许在不离开当前页面的情况...

    blickui-弹出层插件

    在网页开发中,弹出层常用于模态对话框、加载提示、通知窗口等场景,提高用户体验。 首先,"blickui-弹出层插件"的一大亮点在于其自定义动画效果的能力。这使得开发者可以根据品牌风格或网页设计需求,自由调整弹出...

    弹出模式窗口显示进度条

    在IT开发领域,特别是在Windows应用程序设计中,"弹出模式窗口显示进度条"是一个常见的需求,主要用于提升用户体验,让用户能够直观地看到后台处理任务的进度,例如文件复制、下载或其他耗时操作。本文将深入探讨...

    JS显示弹出层屏蔽当前页面

    在JavaScript(JS)编程中,显示弹出层并屏蔽当前页面是一种常见的用户交互设计,用于创建模态对话框、提示信息或加载等待效果。这样的功能能够聚焦用户的注意力,避免他们在处理重要操作时被其他页面元素分散注意力...

    dialog/popup弹出层,TIPS提示窗口jQuery插件.rar

    jQuery 通用dialog/popup弹出层,提示窗口插件,包括有弹出自定义的帮助窗口(根据位置自动判断在底部或头部弹出)、显示和隐藏Loading信息、显示自定义Loading信息、在指定容器内显示Loading信息、显示和隐藏Tip信息...

    jQuery弹出层插件

    弹出层的样式和内容是通过JavaScript动态生成的,根据链接的`href`和`title`属性来确定。 thickbox还利用CSS3的`transition`和`transform`属性,实现了平滑的过渡效果。对于非图片内容,如HTML、Ajax和Iframe,...

    zeroModal弹出层加载提示插件.zip

    在网页设计中,弹出层是一种交互式元素,它可以是对话框、警告框或者信息提示窗口,当用户触发特定操作时,这些层会覆盖在主页面上,显示额外的信息或进行交互。zeroModal正是这样一种专为弹出层设计的插件,它提供...

    各种弹出层设计 css js

    在网页设计中,弹出层(也称为模态窗口或对话框)是一种常见的交互元素,用于显示临时信息、用户确认、表单输入等。本文将深入探讨如何利用CSS和JavaScript来实现各种弹出层设计。 首先,让我们了解弹出层的基本...

    易语言弹出另外一个窗口的菜单

    5. 调用`TrackPopupMenu`,传入子菜单句柄和鼠标位置,弹出菜单并等待用户选择。 6. 处理用户的菜单选择,根据返回值执行相应的函数或方法。 提供的源码"弹出另外一个窗口的菜单易语言源码"应该详细展示了这些步骤...

    jQuery实现注册和登录弹出层效果

    综上所述,实现"jQuery实现注册和登录弹出层效果"需要掌握jQuery的基本用法,结合HTML、CSS和Ajax技术,创建出符合现代网页标准的交互功能。这个过程涉及的技能点广泛,但通过不断实践和学习,开发者可以轻松地打造...

    弹出居中DIV窗口,背景逐渐变暗

    在网页设计中,"弹出居中DIV窗口,背景逐渐变暗"是一种常见的用户体验设计手法,常用于创建模态对话框、提示信息或者加载等待效果。这种设计可以使用户更加专注于当前的操作,避免背景内容的干扰。下面将详细介绍...

    layer实现关闭弹出层刷新父界面功能详解

    在某些情况下,比如在处理表单提交或支付操作时,可能需要等待操作完成后再关闭弹出层。此时,可以使用`setTimeout`来延迟关闭弹出层的执行,如: ```javascript $("#myForm").submit(); var index = parent.layer....

    编程开发-综合控件-layer弹出层组件 v3.0.3.zip

    layer提供了丰富的配置项,如`type`(弹出层类型)、`title`(标题)、`content`(内容)、`area`(尺寸)等,可灵活调整弹出层的外观和行为。同时,支持CSS样式自定义,使弹窗与整体网站风格保持一致。 5. **事件...

    Thickbox 基于jQuery的弹出层(盒子)插件.zip

    2. **弹出层原理**:弹出层是一种在网页上创建浮动窗口的技术,它将内容置于页面背景之上,使用户聚焦于特定信息。Thickbox通过CSS定位和透明度控制实现这一效果,利用JavaScript动态调整弹出层的大小和位置,确保其...

    asp.net多层弹出showDialog

    3. **ASP.NET ModalPopupExtender**:这是ASP.NET AJAX Control Toolkit中的一个控件,可以方便地创建模态弹出窗口。你只需要在页面上添加ModalPopupExtender控件,并配置它的目标控件(触发弹出的控件)和弹出内容...

    登陆窗口弹出

    通过CSS,我们可以设置遮罩层的透明度和覆盖范围,以实现遮罩效果,使用户聚焦于登录窗口,防止他们在等待验证期间误操作其他部分的页面。 其次,`xw素材.htm`可能是包含登录窗口HTML代码的文件。HTML(超文本标记...

    网页弹出层加载提示框插件zeroModal

    "ZeroModal"是一款基于jQuery的轻量级弹出层插件,它以扁平化设计风格为特色,能够方便地创建模态对话框、操作提示框以及等待层。这款插件兼容AMD(异步模块定义)和CMD(通用模块定义)规范,同时也支持直接引入到...

    Jslightbox|js弹出层|好看的图片集|相册

    弹出层是一种常见的网页交互设计,它可以将特定内容(如图片、表单或信息)以浮动窗口的形式显示在页面主要内容之上。`Jslightbox` 利用这种技术,当用户点击某个触发元素(通常是图片链接)时,会以全屏或半屏的...

Global site tag (gtag.js) - Google Analytics