求教:关于一个DIV弹出层的问题
时间:2009-01-05
来源:互联网
本帖最后由 booyo 于 2009-1-6 10:31 编辑
原代码:
复制代码
请各位高手赐教:现在我想增加一个“登录2”,然后点击同样会弹出DIV层,但是层里面的内容是跟“登录1”所弹出的内容是不一样的,这段代码该怎么修改修改呢?谢谢了!!!
原代码:
-
- <!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>
- #login{
- position:relative;
- display: none;
- top: 20px;
- left:30px;
- background-color:#ffffff;
- text-align: center;
- border: solid 1px;
- padding: 10px;
- z-index: 1;
- }
-
- </STYLE>
-
- <script type="text/javascript">
-
- var W = screen.width;//取得屏幕分辨率宽度
- var H = screen.height;//取得屏幕分辨率高度
- function M(id){
- return document.getElementById(id);//用M()方法代替document.getElementById(id)
- }
- function MC(t){
- return document.createElement(t);//用MC()方法代替document.createElement(t)
- };
- //判断浏览器是否为IE
- function isIE(){
- return (document.all && window.ActiveXObject && !window.opera) ? true : false;
- }
- //取得页面的高宽
- function getBodySize(){
- var bodySize = [];
- with(document.documentElement) {
- bodySize[0] = (scrollWidth>clientWidth)?scrollWidth:clientWidth;//如果滚动条的宽度大于页面的宽度,取得滚动条的宽度,否则取页面宽度
- bodySize[1] = (scrollHeight>clientHeight)?scrollHeight:clientHeight;//如果滚动条的高度大于页面的高度,取得滚动条的高度,否则取高度
- }
- return bodySize;
- }
- //创建遮盖层
- function popCoverDiv(){
- if (M("cover_div")) {
- //如果存在遮盖层,则让其显示
- M("cover_div").style.display = 'block';
- } else {
- //否则创建遮盖层
- var coverDiv = MC('div');
- document.body.appendChild(coverDiv);
- coverDiv.id = 'cover_div';
- with(coverDiv.style) {
- position = 'absolute';
- background = '#333';
- left = '0px';
- top = '0px';
- var bodySize = getBodySize();
- width = bodySize[0] + 'px'
- height = bodySize[1] + 'px';
- zIndex = 0;
- if (isIE()) {
- filter = "Alpha(Opacity=60)";//IE逆境
- } else {
- opacity = 0.6;
- }
- }
- }
- }
-
-
- //让登陆层显示为块
- function showLogin()
- {
- var login=M("login");
- login.style.display = "block";
- }
- //设置DIV层的样式
- function change(){
- var login = M("login");
- login.style.position = "absolute";
- login.style.border = "1px solid #CCCCCC";
- login.style.background ="#fff";
- var i=0;
- var bodySize = getBodySize();
- login.style.left = (bodySize[0]-i*i*4)/2+"px";
- login.style.top = (bodySize[1]/2-100-i*i)+"px";
- login.style.width = i*i*4 + "px";
- login.style.height = i*i*1.5 + "px";
-
- popChange(i);
- }
- //让DIV层大小循环增大
- function popChange(i){
- var login = M("login");
- var bodySize = getBodySize();
- login.style.left = (bodySize[0]-i*i*4)/2+"px";
- login.style.top = (bodySize[1]/2-100-i*i)+"px";
- login.style.width = i*i*4 + "px";
- login.style.height = i*i*1.5+ "px";
- if(i<=10){
- i++;
- setTimeout("popChange("+i+")",10);//设置超时10毫秒
- }
- }
- //打开DIV层
- function open()
- {
- change();
- showLogin();
- popCoverDiv()
- void(0);//不进行任何操作,如:<a href="#">aaa</a>
- }
- //关闭DIV层
- function close(){
- M('login').style.display = 'none';
- M("cover_div").style.display = 'none';
- void(0);
- }
- </script>
- </head>
- <body>
- <a href="javascriptpen();">登陆1</a>
- <div id="login">
- <span>用户登陆</span>
- <div>
- <a href="javascript:close();">关闭</a> </div>
- </div>
- </body>
- </html>
请各位高手赐教:现在我想增加一个“登录2”,然后点击同样会弹出DIV层,但是层里面的内容是跟“登录1”所弹出的内容是不一样的,这段代码该怎么修改修改呢?谢谢了!!!
作者: booyo 发布时间: 2009-01-05
将函数中实际的东西写成变量,定义到函数的()中来,这样你就可以传参数进去了。。。
作者: lovevfp 发布时间: 2009-01-05
<!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" />
<meta http-equiv="Content-Language" content="zh-CN" />
<meta name="Designer mail" content="itchina110(at)126.com" />
<meta name="author" content="花随风落" />
<meta name="Keywords" content="" />
<meta name="Description" content="" />
<title>测试弹出</title>
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />
<style>
#login{display:none;position:relative;z-index:9999;width:300px;height:400px;background:#000;color:#fff;}
</style>
</head>
<body>
<a href="javascript:void(0)" onclick ="popaa('login');">弹出</a>
<div id="login">
<p>aaaa</p>
<a href="javascript:void(0)" onclick ="close_box('login');">关闭</a>
</div>
<script language="javascript">
<!--
var body_width = document.body.clientWidth;
var body_height = document.body.clientHeight;
function popaa(pop_box){
var pop_aa = document.getElementById(pop_box);
pop_aa.style.display = "block";
var pop_width = pop_aa.offsetWidth;
var pop_height = pop_aa.offsetHeight;
if (body_height>pop_height){
pop_aa.style.top = (body_height/2 - pop_height/2) + "px";
}
pop_aa.style.left = (body_width/2 - pop_width/2) + "px";
alert(body_width);
alert(body_height);
}
function close_box(pop_box){
var pop_aa = document.getElementById(pop_box);
pop_aa.style.display = "none" ;
}
//-->
</script>
</body>
</html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Language" content="zh-CN" />
<meta name="Designer mail" content="itchina110(at)126.com" />
<meta name="author" content="花随风落" />
<meta name="Keywords" content="" />
<meta name="Description" content="" />
<title>测试弹出</title>
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />
<style>
#login{display:none;position:relative;z-index:9999;width:300px;height:400px;background:#000;color:#fff;}
</style>
</head>
<body>
<a href="javascript:void(0)" onclick ="popaa('login');">弹出</a>
<div id="login">
<p>aaaa</p>
<a href="javascript:void(0)" onclick ="close_box('login');">关闭</a>
</div>
<script language="javascript">
<!--
var body_width = document.body.clientWidth;
var body_height = document.body.clientHeight;
function popaa(pop_box){
var pop_aa = document.getElementById(pop_box);
pop_aa.style.display = "block";
var pop_width = pop_aa.offsetWidth;
var pop_height = pop_aa.offsetHeight;
if (body_height>pop_height){
pop_aa.style.top = (body_height/2 - pop_height/2) + "px";
}
pop_aa.style.left = (body_width/2 - pop_width/2) + "px";
alert(body_width);
alert(body_height);
}
function close_box(pop_box){
var pop_aa = document.getElementById(pop_box);
pop_aa.style.display = "none" ;
}
//-->
</script>
</body>
</html>
作者: lovevfp 发布时间: 2009-01-05
这样就可以重复使用了。。。我是菜鸟哈,不知道回答得对不对。
作者: lovevfp 发布时间: 2009-01-05
将函数中实际的东西写成变量,定义到函数的()中来,这样你就可以传参数进去了。。。
lovevfp 发表于 2009-1-6 12:36
lovevfp 发表于 2009-1-6 12:36
可不可以在我原来的代码中给修改修改呢?写成变量不怎么会呀,谢谢帮忙了!!!
作者: booyo 发布时间: 2009-01-05
//设置DIV层的样式
function change(){
var login = M("login");
login.style.position = "absolute";
login.style.border = "1px solid #CCCCCC";
login.style.background ="#fff";
var i=0;
var bodySize = getBodySize();
login.style.left = (bodySize[0]-i*i*4)/2+"px";
login.style.top = (bodySize[1]/2-100-i*i)+"px";
login.style.width = i*i*4 + "px";
login.style.height = i*i*1.5 + "px";
popChange(i);
}
我只能给你举个例子。
比如这里的
function change(login){
var login = M(login);
login.style.position = "absolute";
login.style.border = "1px solid #CCCCCC";
login.style.background ="#fff";
var i=0;
var bodySize = getBodySize();
login.style.left = (bodySize[0]-i*i*4)/2+"px";
login.style.top = (bodySize[1]/2-100-i*i)+"px";
login.style.width = i*i*4 + "px";
login.style.height = i*i*1.5 + "px";
popChange(i);
}
在以后调用这个函数的时候。。。使用change("login")
function change(){
var login = M("login");
login.style.position = "absolute";
login.style.border = "1px solid #CCCCCC";
login.style.background ="#fff";
var i=0;
var bodySize = getBodySize();
login.style.left = (bodySize[0]-i*i*4)/2+"px";
login.style.top = (bodySize[1]/2-100-i*i)+"px";
login.style.width = i*i*4 + "px";
login.style.height = i*i*1.5 + "px";
popChange(i);
}
我只能给你举个例子。
比如这里的
function change(login){
var login = M(login);
login.style.position = "absolute";
login.style.border = "1px solid #CCCCCC";
login.style.background ="#fff";
var i=0;
var bodySize = getBodySize();
login.style.left = (bodySize[0]-i*i*4)/2+"px";
login.style.top = (bodySize[1]/2-100-i*i)+"px";
login.style.width = i*i*4 + "px";
login.style.height = i*i*1.5 + "px";
popChange(i);
}
在以后调用这个函数的时候。。。使用change("login")
作者: lovevfp 发布时间: 2009-01-05
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28