`

DIV 模态窗口

阅读更多
<!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=utf-8" />
<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="Input" id="test" value="风格设置" type="button" onclick="openLayer('test','test_con')" />
<!--第一个弹出层的内容-->
<div id="test_con" style="display:none">1111111</div>
<div id="tabcontent">此处显示内容</div>
</div>
</div>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<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>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<input name="Input" id="test3" value="风格演示" type="button" onclick="openLayer('test3','test_con3')" />
<!--第三个弹出层的内容-->
<div id="test_con3" style="display:none" title="包含弹出层的内容的容器">
<div id="tab3" style="width:300px;height:180px;background:#fee">
<div id="tabtop3">
<div id="tabtop-L3"><strong style="color:red;font-size:20px">风格演示</strong></div>
<div id="tabtop-R3" onclick="closeLayer()"><strong>关闭</strong></div>
</div>
<div id="tabcontent3">此处显示内容</div>
</div>
</div>
</body>
</html>
分享到:
评论

相关推荐

    DIV模态窗口实现

    【DIV模态窗口实现】是一种常见的前端网页设计技术,它允许在不离开当前页面的情况下,弹出一个窗口显示额外的信息或功能。模态窗口通常用于登录、注册、提示信息、表单提交等场景,能够提供良好的用户体验,因为它...

    div css窗口 模态窗口

    在网页设计中,`div` 和 `css` 是构建页面布局和样式的重要工具,而模态窗口(Modal Window)则是用户界面设计中的一个常见元素。模态窗口是一种弹出式的对话框,它会覆盖住主页面,使得用户必须先与模态窗口交互...

    使用div仿javascript模态窗口

    在`&lt;body&gt;`部分,我们可以创建一个隐藏的`&lt;div&gt;`作为模态窗口的容器,如: ```html &lt;div id="myModal" class="modal"&gt; &lt;div class="modal-content"&gt; &lt;span class="close"&gt;&times; &lt;!-- 模态窗口内的内容 --&gt; &lt;/...

    jquery div模态窗口的简单实例

    这段代码首先定义了两个函数`popupDiv`和`hideDiv`,它们分别用于显示和隐藏模态窗口。`popupDiv`函数首先获取传入的DIV元素,然后计算屏幕的高度和宽度以及传入DIV的高度和宽度。接着它创建背景遮罩层,并使其在200...

    可以实现拖动的DIV模态窗口代码

    可实现任意拖动,有标题栏功能 var moveFlag = 0;//拖曳是否开始(0:否,1:是) var mouseBeginX = 0;//鼠标的起始x座标 var mouseBeginY = 0;//鼠标的起始y座标 var modeBeginTop = 0;//拖曳对象当前的top值 ...

    层实现模态窗口(div)

    在模态窗口的实现中,`&lt;div&gt;`将作为弹出窗口的主要结构。 实现模态窗口的基本步骤如下: 1. 创建`&lt;div&gt;`:首先,我们需要在HTML文档中定义一个`&lt;div&gt;`,并为其添加一个唯一的ID,以便后续通过JavaScript选中它。...

    Jquery实现模态窗口效果

    在网页设计中,模态窗口(Modal Window)是一种常见的用户交互设计模式,它可以在不离开当前页面的情况下显示新的内容或进行交互操作。JQuery,一个轻量级、高性能的JavaScript库,提供了简单易用的API来实现这种...

    easyui 模态窗口插件

    在 EasyUI 中,模态窗口(Modal Window)是一种常用的功能,用于展示弹出式对话框,通常用于输入数据、确认操作或者显示详细信息。在本篇文章中,我们将深入探讨 EasyUI 的模态窗口插件,包括其基本使用方法、配置...

    jquery 弹出 div 模式窗口

    `jquery.magnific-popup.js`是magnific popup插件的核心脚本,它提供了一种优雅的方式来创建各种类型的弹出窗口,包括图像、视频、iframe、纯文本以及自定义的Div模态窗口。这个插件设计得既美观又可定制,可以轻松...

    5个Jquery模态窗口

    - **模态窗口容器**:用于放置模态窗口内容的div,初始状态通常是`display:none`。 - **遮罩层**:覆盖整个页面,阻止用户与背景交互,一般设置为透明度较低的颜色和全屏尺寸。 - **触发按钮/链接**:点击后触发...

    jquery 模态窗口

    &lt;div id="dialog" title="模态窗口"&gt; 这是模态窗口的内容。 &lt;/div&gt; 打开模态窗口 $(function() { $("#dialog").dialog({ modal: true, // 设置为模态窗口 width: 400, // 自定义宽度 height: 200 // ...

    模态窗口实例

    1. DOM操作:创建模态窗口的HTML结构,通常包括一个隐藏的模态元素(如div)和相关的按钮触发器。例如: ```html &lt;div id="myModal" class="modal"&gt; &lt;div class="modal-content"&gt; &lt;span class="close"&gt;&times; ...

    JavaScript 的模态窗口

    JavaScript的模态窗口是网页开发中常用的一种交互设计,它可以在用户进行其他操作时暂停页面流程,强制用户关注特定信息或执行某个操作。模态窗口通常由一个覆盖在主页面上的半透明背景(通常称为“mask”)和一个...

    javascript模态窗口

    JavaScript模态窗口是一种在网页设计中广泛使用的交互元素,它能够强制用户在处理当前内容之前必须先进行交互。模态窗口通常表现为一个弹出框,阻止用户与页面其他部分进行互动,直到他们关闭该窗口或者完成操作。在...

    html 模态窗口子窗体调用父窗体的任何函数

    在HTML中,模态窗口往往被包含在一个`&lt;div&gt;`元素中,通过CSS设置为不可见,并在需要时通过JavaScript显示。例如,Bootstrap中模态窗口的基本结构如下: ```html &lt;div class="modal fade" id="myModal" tabindex="-1...

    模态窗口页的传值模态窗口页的传值

    在网页开发中,模态窗口(Modal Window)是一种常见的用户界面设计模式,它可以在当前页面上弹出一个半透明的窗口,强制用户与其交互后才能继续操作主页面。这种设计通常用于确认操作、输入信息或者展示详细内容等...

    模态窗口关闭时刷新父页面js文件

    在网页开发中,模态窗口(Modal Window)是一种常见的用户交互设计,用于显示与当前页面相关的临时信息或进行特定操作。这种窗口会阻止用户与背景页面的直接交互,直到模态窗口被关闭。当我们需要在用户关闭模态窗口...

    div弹出框、对话框、模态窗口

    在网页设计和开发中,`div` 弹出框、对话框和模态窗口是创建交互式用户体验的重要组成部分。这些元素通常用于显示警告、询问用户输入或者提供额外的信息,而不会中断用户对主要页面的浏览。本文将深入探讨这些概念,...

    js实现图表及模态窗口

    1. **基础实现**:通过HTML创建一个隐藏的div作为模态窗口,然后使用JavaScript控制其显示和隐藏。例如,通过`document.getElementById('modal').style.display = 'block'`来显示模态窗口。 2. **事件处理**:通常...

Global site tag (gtag.js) - Google Analytics