`

怎么样让弹出的DIV显示在网页的中间?

 
阅读更多

怎么样让弹出的DIV显示在网页的中间?   

2010-10-09 17:23:12 |  分类: ASP.NET+SQL+HTML | 字号   订阅

<!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:12px;}
#container div{margin-top:5px;}
#select_city h3{float:left;}
#main_city,#all_province {clear:both;}
#main_city div,#all_province div{width:600px;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 10px;cursor:pointer;font-size:12px;}
#float_lay{width:200px;height:120px;border:1px #d1d1d1 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;
//var pageHeight,pageWidth;
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>
</head>
<body>
<input name="test" id="test" value="风格设置" type="button" onclick="openLayer('test','test_con')" />
<!--第一个弹出层的内容-->
<div id="test_con" style="display:none" title="包含弹出层的内容的容器">
<div id="tab">
<div id="tabtop">
<div id="tabtop-L"><strong>风格设置</strong></div>
<div id="tabtop-R" onclick="closeLayer()"><strong>关闭</strong></div>
</div>
<div id="tabcontent">此处显示内容</div>
</div>
</div>
<br>
<br>
<br>
<input name="Input" id="test2" value="风格提示" type="button" onclick="openLayer('test2','test_con2')" />
<!--第二个弹出层的内容-->
<div id="test_con2" style="display:none" title="包含弹出层的内容的容器">
<div id="tab2">
<div id="tabtop2">
<div id="tabtop-L2"><strong style="color:blue">设置提示</strong></div>
<div id="tabtop-R2" onclick="closeLayer()"><strong style="color:red">关闭</strong></div>
</div>
<div id="tabcontent2" style="color:#dff;background:#000">
<p>此处显示提示内容"
<p>提示1
<p>提示2
</div>
</div>
</div>
<br>
<br>
<br>
<input name="Input" id="test3" value="风格演示" type="button" onclick="openLayer('test3','test_con3')" />
<!--第三个弹出层的内容-->
<div id="test_con3" style="display:none" title="包含弹出层的内容的容器">

分享到:
评论

相关推荐

    jquery div

    网页上的AJAX网页弹出层,弹出对话框,嵌套的网页弹出浮动层,可以关闭,可以自适应显示在网页浏览器的中央,不管浏览器窗口有多大,它都会显示在中间。运用了一个封装的JS库,实现一个浮动对话框的功能就更简单了。

    JavaScript网页特效范例宝典源码

    实例011 弹出全屏显示的网页模式对话框 16 实例012 网页拾色器 18 实例013 日期选择器 21 1.3 窗口的动画效果 26 实例014 页面自动滚动 26 实例015 打开窗口特殊效果 27 实例016 动态显示窗口 29 实例017 慢慢放大的...

    春节一个简单的HTML网页-传统节日春节网页(HTML+CSS).rar

    菜单美观、醒目,二级菜单可正常弹出与跳转。 5. 要有JS特效,如定时切换和手动切换图片轮播。 6. 页面中有多媒体元素,如gif、视频、音乐,表单技术的使用。 7. 页面清爽、美观、大方,不雷同。 。 8. 不仅要能够...

    个人设计web前端大作业 HTML期末大作业 学生个人网页设计作品 学生个人网页设计作品 学生个人网页模板 简单个人主页成品

    菜单美观、醒目,二级菜单可正常弹出与跳转。 要有JS特效,如定时切换和手动切换图片轮播。 页面中有多媒体元素,如gif、视频、音乐,表单技术的使用。。 页面清爽、美观、大方,不雷同。 。 不仅要能够把用户要求的...

    非常好的js网页设计项目资源,分享出来.zip

    菜单美观、醒目,二级菜单可正常弹出与跳转。 要有JS特效,如定时切换和手动切换图片轮播。 页面中有多媒体元素,如gif、视频、音乐,表单技术的使用。。 页面清爽、美观、大方,不雷同。 。 不仅要能够把用户要求的...

    html+css网页设计作业.zip

    菜单美观、醒目,二级菜单可正常弹出与跳转。 要有JS特效,如定时切换和手动切换图片轮播。 页面中有多媒体元素,如gif、视频、音乐,表单技术的使用。 页面清爽、美观、大方,不雷同。 不仅要能够把用户要求的内容...

    网页制作期末作业-new.docx

    菜单美观、醒目,二级菜单可正常弹出与跳转。 5. 要有JS特效,如定时切换和手动切换图片轮播。 6. 页面中有多媒体元素,如gif、视频、音乐,表单技术的使用。 7. 页面清爽、美观、大方,不雷同。 。 8. 不仅要能够...

    个人简历静态页面,web期末作业,课堂作业,网页制作

    4. 菜单美观、醒目,二级菜单可正常弹出与跳转; 5. 要有JS特效,如定时切换和手动切换图片新闻; 6. 页面中有多媒体元素,如gif、视频、音乐,表单技术的使用; 7. 页面清爽、美观、大方,不雷同1. 页面分为页头...

    未命名站点 4(修改).rar心理健康相关静态页面,html+css,web期末作业,课堂作业,网页设计制作

    4. 菜单美观、醒目,二级菜单可正常弹出与跳转; 5. 要有JS特效,如定时切换和手动切换图片新闻; 6. 页面中有多媒体元素,如gif、视频、音乐,表单技术的使用; 7. 页面清爽、美观、大方,不雷同1. 页面分为页头...

    Web前端大作业2.0.zip

    接下来是风云人物链接资料,点击对应人物会弹出DIV文本框显示每个棋手的风云人物资料简介,点击右边的关闭按钮会关闭整个弹出的文本框,非常方便适宜网站的总体要求。接下来是国外盛况介绍,下面依次是四张围棋手的...

    C0430 薛之谦(6页).Zip喜爱的明星网站,课堂作业期末作业,静态页面,html+css,网页设计与制作

    4. 菜单美观、醒目,二级菜单可正常弹出与跳转; 5. 要有JS特效,如定时切换和手动切换图片新闻; 6. 页面中有多媒体元素,如gif、视频、音乐,表单技术的使用; 7. 页面清爽、美观、大方,不雷同1. 页面分为页头...

    work(心理健康)(修改).rar心理健康相关静态页面,html+css,web课程课堂作业,期末作业,网页制作

    4. 菜单美观、醒目,二级菜单可正常弹出与跳转; 5. 要有JS特效,如定时切换和手动切换图片新闻; 6. 页面中有多媒体元素,如gif、视频、音乐,表单技术的使用; 7. 页面清爽、美观、大方,不雷同1. 页面分为页头...

    使用jQuery制作遮罩层弹出效果的极简实例分享

    这种效果的好处就是,可以让用户聚焦到弹出的菜单中。 神说,有代码的文章,应该有个 Demo ,于是就有了Demo。 HTML 结构 首先先来分析一下这个过程:触发某个事件(例如点击按钮),然后出现一个背景遮罩上面还有一...

    广东茂名-htmlcss静态页面,共三页

    4. 菜单美观、醒目,二级菜单可正常弹出与跳转; 5. 要有JS特效,如定时切换和手动切换图片新闻; 6. 页面中有多媒体元素,如gif、视频、音乐,表单技术的使用; 7. 页面清爽、美观、大方,不雷同。航栏(最好可...

    《程序天下:JavaScript实例自学手册》光盘源码

    3.35 文本框显示网页中选中的内容 3.36 文字的垂直滚动 3.37 文字幻灯片 3.38 随机动态文字效果 3.39 实现textarea的自动滚动 3.40 使用marquee实现文字上下滚动 3.41 类似安装效果的textarea滚动 3.42 始终显示在最...

    程序天下:JavaScript实例自学手册

    3.35 文本框显示网页中选中的内容 3.36 文字的垂直滚动 3.37 文字幻灯片 3.38 随机动态文字效果 3.39 实现textarea的自动滚动 3.40 使用marquee实现文字上下滚动 3.41 类似安装效果的textarea滚动 3.42 始终显示在最...

    网页广告 代码全集 js 广告代码 大全 1-61 (A)

    53:关闭弹出两窗口的代码下载 54:鼠标经过即弹出广告代码下载 55:按钮跳出广告代码下载 56:左边底部悬浮代码下载 57:滑动展开/收缩广告代码下载 58:点空白页面也弹出代码下载 59:置顶收栏关闭效果代码下载 60:...

    网页广告 代码全集 js 广告代码 62-120 大全 (B)

    53:关闭弹出两窗口的代码下载 54:鼠标经过即弹出广告代码下载 55:按钮跳出广告代码下载 56:左边底部悬浮代码下载 57:滑动展开/收缩广告代码下载 58:点空白页面也弹出代码下载 59:置顶收栏关闭效果代码下载 60:...

    jQuery实现优雅的弹窗效果(6)

    如图,在浏览器的左上方是两个button按钮,按下之后分别弹出左下角的窗口和中间的窗口,右下角的窗口当页面加载完成之后自动慢慢显示,之后又徐徐的淡出。基于div+css的模式,我们的先来建立html页面。 window.html ...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part1

    实例206 弹出全屏显示的网页模式对话框 261 实例207 关闭IE主窗口时不弹出询问对话框 262 实例208 弹出提示对话框并重定向网页 263 实例209 自动关闭的广告窗口 264 实例210 在弹出的对话框中选择个性头像 265 实例...

Global site tag (gtag.js) - Google Analytics