`
Richard.wei
  • 浏览: 23985 次
  • 性别: Icon_minigender_1
  • 来自: 江苏
社区版块
存档分类
最新评论

div 弹出层

    博客分类:
  • web
阅读更多
<!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>一款简单的网页弹出层JS代码丨芯晴网页特效丨CsrCode.Cn</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;
//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>
<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>
<div id="tabcontent"><p align="center">本特效由 <a href="http://www.CsrCode.cn" target="_blank">芯晴网页特效</a>丨CsrCode.Cn 收集于互联网,只为兴趣与学习交流,不作商业用途。</p></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:#fee;">
<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>
<div id="tabcontent3" style="padding:8px"><p align="center">本特效由 <a href="http://www.CsrCode.cn" target="_blank">芯晴网页特效</a>丨CsrCode.Cn 收集于互联网,只为兴趣与学习交流,不作商业用途。</p></div>
</div>
</div>
</body>
</html>


<html>
<head>
<style>
.popContent
{
display: none;
position: absolute;
top: 30%;
left: 40%;
padding-right:80%;
padding: 16px;
border: 1px solid orange;
background-color: white;
z-index:1;
overflow: hidden;
filter :alpha(opacity=50);
opacity : 0.5;
background : #ddf;
}
</style>

<script>
function showDiv()
{
document.getElementById("showDiv").style.display = "block";
}
function onClose()
{
document.getElementById("showDiv").style.display = "none";
}
</script>

</head>
<body>
<input type="button" onclick="showDiv()" value="点我"/>
<div id ="showDiv" class="popContent" style="width:400;heigth:300">
<div align="right" style="cursor: pointer;" onclick="onClose();">关闭</div>
<div align="center">
<form action="#" method="post">
<table>
<tr>
<td>用户名:</td>
<td><input type="text" name="name"/></td>
</tr>
<tr>
<td>密码:</td>
<td><input type="password" name="pass"/></td>
</tr>
<tr>
<td align="center"><input type="button" name="but" value="登录"/></td>
<td><input type="reset" name="but" value="取消"/></td>
</tr>
</table>
</form>
<div>
</div>
</body>
</html>
分享到:
评论

相关推荐

    DIV弹出层+定位

    在这个“DIV弹出层+定位”的例子中,我们关注的是如何利用`DIV`来创建一个可滑动的弹出层,并且使其在页面上保持固定的位置。这种功能通常用于显示提示信息、模态对话框或者加载额外的内容。 首先,`DIV弹出层`是指...

    JS+HTML非常漂亮的 弹出小窗口 div弹出层

    JS+HTML非常漂亮的 弹出小窗口 div弹出层 JS+HTML非常漂亮的 弹出小窗口 div弹出层 JS+HTML非常漂亮的 弹出小窗口 div弹出层 JS+HTML非常漂亮的 弹出小窗口 div弹出层

    div弹出层

    在网页设计和开发中,"div弹出层"是一个常见的交互元素,用于提供额外的信息、显示警告、进行用户确认操作等。"div弹出层"实际上是一个基于HTML `&lt;div&gt;` 元素构建的浮动窗口,它可以在用户与页面交互时临时出现在...

    div 弹出层遮罩 兼容各大浏览器

    在网页设计中,"div 弹出层遮罩 兼容各大浏览器" 是一个常见的交互效果,用于创建一种用户友好的界面体验。当用户点击某个按钮时,一个半透明的遮罩层会覆盖整个页面,突出显示弹出的窗口或信息,而其他部分则变得不...

    div弹出层 定位问题的 处理

    在网页设计中,`div` 弹出层(也称为模态框或对话框)是一种常用的交互元素,用于展示重要信息、用户确认操作或者提供额外的功能。然而,为`div`弹出层进行准确的定位可能会遇到一些挑战,因为这涉及到CSS布局、...

    DIV弹出层 DIV弹出层DIV弹出层

    DIV弹出层.htmDIV弹出层DIV弹出层DIV弹出层DIV弹出层

    div弹出层打包,包括弹出图片浏览

    在网页设计中,"div弹出层"是一种常见的交互元素,用于展示额外的信息或功能,如图片预览、对话框、表单等。这个压缩包文件"div弹出层打包,包括弹出图片浏览"提供了一套解决方案,帮助开发者轻松实现这种效果。以下...

    好看的DIV弹出层

    标题“好看的DIV弹出层”和描述中的关键词“DIV弹出层”暗示了这个压缩包包含了一个关于网页设计中创建美观弹出对话框的资源集合。弹出层在网页交互中广泛使用,常用于显示详细信息、用户确认、登录表单等。下面将...

    几种样式的DIV弹出层

    总的来说,"几种样式的DIV弹出层"涵盖了网页动态交互的基本技术,包括静态页面结构、视觉设计和交互逻辑。开发者可以根据具体需求调整和扩展这些基本元素,以创建出更加复杂和个性化的弹出层效果。理解并掌握这些...

    js带尖角的div弹出层js带尖角的div弹出层

    在网页设计中,"js带尖角的div弹出层"是一种常见的交互元素,用于创建具有视觉引导效果的提示信息或者对话框。这种弹出层通常由JavaScript驱动,结合CSS来实现其动态显示和尖角效果。下面我们将深入探讨如何使用...

    页面 Div 弹出层

    下面我们将深入探讨Div弹出层的实现原理、应用和扩展开发。 一、Div弹出层基础 1. **HTML结构**:首先,我们需要创建一个`&lt;div&gt;`元素,作为弹出层的基本框架。这个`&lt;div&gt;`通常会被设置为绝对定位或固定定位,以便...

    div弹出层position属性小解

    ### div弹出层position属性小解 在网页布局与设计中,`position` 属性是 CSS 中一个非常重要的属性,它决定了元素如何在页面中定位。对于创建弹出层、模态框等交互式组件来说,正确理解并使用 `position` 属性至关...

    泽元div 弹出层,弹出框

    div弹出层** 在HTML中,`&lt;div&gt;`是一个通用的容器元素,可以用来组织页面结构。在实现弹出层时,我们通常会创建一个隐藏的`&lt;div&gt;`,然后通过JavaScript将其显示在页面上。这个`&lt;div&gt;`可以包含任何内容,比如文本、...

    自己做的一个div弹出层js

    在网页设计中,"div弹出层js"是一种常见的交互元素,它允许用户与页面上的特定内容进行交互,如显示消息、表单或更多详细信息,而不会离开当前页面。这个自定义的实现主要涉及HTML的`div`元素、CSS样式以及...

    div弹出层 jquery

    在网页设计中,"div弹出层"是一种常见的交互元素,用于显示临时信息或与用户进行交互。jQuery库因其简洁的API和强大的功能,成为实现此类效果的首选工具。本主题将深入探讨如何利用jQuery来实现十种不同的弹出层效果...

    html5_div弹出层

    html5_div弹出层

    一个不错的DIV弹出层

    在网页设计中,"DIV弹出层"是一种常见的交互元素,用于显示临时信息或与用户进行交互。这个“一个不错的DIV弹出层”项目显然旨在提供一个简洁且高效的解决方案。让我们深入探讨一下这个主题,以及它与jQuery的关系。...

    div弹出层,带拖动

    在网页设计中,"div弹出层,带拖动"是一个常见的交互功能,它涉及到HTML、CSS和JavaScript的综合运用。...通过学习和理解这些代码,开发者可以更好地掌握如何在实际项目中创建带拖动功能的div弹出层。

Global site tag (gtag.js) - Google Analytics