弹出层并锁定页面

<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<style type="text/css">
*{margin:0;padding:0;}
</style>
</head>
<body>
   <p>测试</p><p>测试</p><p>测试</p><p>测试</p><p>测试</p><p>测试</p><p>测试</p>
   <p>测试</p><p>测试</p><p>测试</p><p>测试</p><p>测试</p><p>测试</p><p>测试</p><p>测试</p>
   <input type="button" value="点击这里" onclick="sAlert('测试效果<br/>嗯!效果还不错!');" />
<script type="text/javascript" language="javascript">
function sAlert(str){
   var msgw,msgh,bordercolor;
   msgw=400;//提示窗口的宽度
   msgh=100;//提示窗口的高度
   titleheight=25 //提示窗口标题高度
   bordercolor="#336699";//提示窗口的边框颜色
   titlecolor="#99CCFF";//提示窗口的标题颜色
   var sWidth,sHeight;
   sWidth=document.body.offsetWidth;//浏览器工作区域内页面宽度
   sHeight=screen.height;//屏幕高度(垂直分辨率)

   //背景层(大小与窗口有效区域相同,即当弹出对话框时,背景显示为放射状透明灰色)
   var bgObj=document.createElement("div");//创建一个div对象(背景层)
   //定义div属性,即相当于
   //<div id="bgDiv" style="position:absolute; top:0; background-color:#777; filter:progid:DXImagesTransform.Microsoft.Alpha(style=3,opacity=25,finishOpacity=75); opacity:0.6; left:0; width:918px; height:768px; z-index:10000;"></div>
   bgObj.setAttribute('id','bgDiv');
   bgObj.style.position="absolute";
   bgObj.style.top="0";
   bgObj.style.background="#777";
   bgObj.style.filter="progid:DXImageTransform.Microsoft.Alpha(style=3,opacity=25,finishOpacity=75";
   bgObj.style.opacity="0.6";
   bgObj.style.left="0";
   bgObj.style.width=sWidth + "px";
   bgObj.style.height=sHeight + "px";
   bgObj.style.zIndex = "10000";
   document.body.appendChild(bgObj);//在body内添加该div对象

   var msgObj=document.createElement("div")//创建一个div对象(提示框层)
   //定义div属性,即相当于
   //<div id="msgDiv" align="center" style="background-color:white; border:1px solid #336699; position:absolute; left:50%; top:50%; font:12px/1.6em Verdana,Geneva,Arial,Helvetica,sans-serif; margin-left:-225px; margin-top:npx; width:400px; height:100px; text-align:center; line-height:25px; z-index:100001;"></div>
   msgObj.setAttribute("id","msgDiv");
   msgObj.setAttribute("align","center");
   msgObj.style.background="white";
   msgObj.style.border="1px solid " + bordercolor;
   msgObj.style.position = "absolute";
   msgObj.style.left = "50%";
   msgObj.style.top = "50%";
   msgObj.style.font="12px/1.6em Verdana, Geneva, Arial, Helvetica, sans-serif";
   msgObj.style.marginLeft = "-225px" ;
   msgObj.style.marginTop = -75+document.documentElement.scrollTop+"px";
   msgObj.style.width = msgw + "px";
   msgObj.style.height =msgh + "px";
   msgObj.style.textAlign = "center";
   msgObj.style.lineHeight ="25px";
   msgObj.style.zIndex = "10001";

   var title=document.createElement("h4");//创建一个h4对象(提示框标题栏)
   //定义h4的属性,即相当于
   //<h4 id="msgTitle" align="right" style="margin:0; padding:3px; background-color:#336699; filter:progid:DXImageTransform.Microsoft.Alpha(startX=20, startY=20, finishX=100, finishY=100,style=1,opacity=75,finishOpacity=100); opacity:0.75; border:1px solid #336699; height:18px; font:12px Verdana,Geneva,Arial,Helvetica,sans-serif; color:white; cursor:pointer;" onclick="">关闭</h4>
   title.setAttribute("id","msgTitle");
   title.setAttribute("align","right");
   title.style.margin="0";
   title.style.padding="3px";
   title.style.background=bordercolor;
   title.style.filter="progid:DXImageTransform.Microsoft.Alpha(startX=20, startY=20, finishX=100, finishY=100,style=1,opacity=75,finishOpacity=100);";
   title.style.opacity="0.75";
   title.style.border="1px solid " + bordercolor;
   title.style.height="18px";
   title.style.font="12px Verdana, Geneva, Arial, Helvetica, sans-serif";
   title.style.color="white";
   title.style.cursor="pointer";
   title.innerHTML="关闭";
   title.onclick=removeObj;
   var button=document.createElement("input");//创建一个input对象(提示框按钮)
   //定义input的属性,即相当于
   //<input type="button" align="center" style="width:100px; align:center; margin-left:250px; margin-bottom:10px;" value="关闭">
   button.setAttribute("type","button");
   button.setAttribute("value","关闭");
   button.style.width="60px";
   button.style.align="center";
   button.style.marginLeft="250px";
   button.style.marginBottom="10px";
   button.style.background=bordercolor;
   button.style.border="1px solid "+ bordercolor;
   button.style.color="white";
   button.onclick=removeObj;

   function removeObj(){//点击标题栏触发的事件
     document.body.removeChild(bgObj);//删除背景层Div
     document.getElementById("msgDiv").removeChild(title);//删除提示框的标题栏
     document.body.removeChild(msgObj);//删除提示框层
   }
   document.body.appendChild(msgObj);//在body内添加提示框div对象msgObj
   document.getElementById("msgDiv").appendChild(title);//在提示框div中添加标题栏对象title
   var txt=document.createElement("p");//创建一个p对象(提示框提示信息)
   //定义p的属性,即相当于
   //<p style="margin:1em 0;" id="msgTxt">测试效果</p>
   txt.style.margin="1em 0"
   txt.setAttribute("id","msgTxt");
   txt.innerHTML=str;//来源于函数调用时的参数值
   document.getElementById("msgDiv").appendChild(txt);//在提示框div中添加提示信息对象txt
   document.getElementById("msgDiv").appendChild(button);//在提示框div中添加按钮对象button
}
</script>
</body>
</html>

 

时间: 2024-10-10 01:41:10

弹出层并锁定页面的相关文章

js与css实现弹出层覆盖整个页面的方法

 本文实例讲述了js与css实现弹出层覆盖整个页面的方法.分享给大家供大家参考.具体实现方法如下: 弹出层透明背景加框的常用样式和结构如下:   代码如下: .alertMessageBg{ position:fixed; _position:absolute; width:100%; height:100%; left:0; top:0; background:#000; opacity:0.5; -moz-opacity:0.5; filter:alpha(opacity=50); z-in

jquery处理页面弹出层查询数据等待操作实例_jquery

本文实例讲述了jquery处理页面弹出层查询数据等待操作.分享给大家供大家参考.具体实现方法如下: $(document).ready(function(){ layer.load(0); //初始化加载 //可选范围(0-9)0表示等返回结果后关闭,1-9表示自动关闭时间(s) }); 当查询结果集返回后,设置关闭等待的样式 function init_page_pro(sdate, pro) { $.post("detail.key", { 'pro' : pro, 'sdate'

通用弹出层页面(兼容IE、firefox)可关闭控制宽高及屏蔽背景_JSP编程

<%...@ page contentType="text/html; charset=utf-8" language="java" import="java.sql.*" errorPage="" %> <%.../* 通用弹出层页面(兼容IE.firefox) 说明: 1.openWindows(width,height)----打开弹出层调用的函数,可控制层的宽度和高度 2.hiddenWindows(

layer.js 弹出层提交form表单,action重定向

layer.js,一个jquery的插件,可以用它来做信息提示,弹出层等.  官方demo地址:http://layer.layui.com/ 官方api地址:http://layer.layui.com/api.html 使用layer.js做弹出层时,在弹出层里直接提交form表单,返回的画面仍然停留在弹出层里. 我们想在弹出层里提交form表单后关闭弹出层,并跳转到另一个画面. 0.引入layer.js <% String path = request.getContextPath();

jquery 点击弹出层

<!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-

Ajax加载外部页面弹出层效果实现方法_AJAX相关

本文实例讲述了Ajax加载外部页面弹出层效果实现方法.分享给大家供大家参考.具体实现方法如下: <!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">

Js Jquery创建一个弹出层可加载一个页面_javascript技巧

复制代码 代码如下: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"

代码-&amp;amp;lt;a&amp;amp;gt;链接一个遮罩层。遮罩层弹出DIV ,DIV在页面隐藏

问题描述 <a>链接一个遮罩层.遮罩层弹出DIV ,DIV在页面隐藏 DIV在页面隐藏.在弹出遮罩层后显示页面中隐藏的DIV 怎么实现? 有代码吗? 解决方案 弹出遮罩层之后,display改为block或者直接show()就行啊. 解决方案二: 设置div的css中z-index属性值,值越大的覆盖在上层显示.

JS弹出层遮罩,隐藏背景页面滚动条细节优化分析_javascript技巧

一.去除滚动条方法 给body添加overflow:hidden属性即可,IE6.7下不会生效,需要给html增加overflow:hidden属性 样式中需要对IE6.7及其它浏览器用hack辨别,这是因为当页面拉到下面时如果html或body被overflow:hidden,透明弹层下面的页面就会被部分正常隐藏,通过透明看到的一片的灰度,具体颜色跟平台及用户设置背景色有关. body或html去掉滚动条后,页面会有一个滚动条宽度/2的跳动!这个跳动对用户体验来十分不好,因此给body添加一下