首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

页内窗口怎么居中?

2012-03-26 
页内窗口如何居中??htmlheadtitle _xWin /titlemetahttp-equiv Content-Type content text/

页内窗口如何居中??
<html>
<head>
<title> _xWin </title>
<meta   http-equiv= "Content-Type "   content= "text/html;   charset=gb2312 ">

<style   type= 'text/css '>
<!--
body{font-size:12px;}
a:visited{text-decoration:none;color:slategray;}
a:hover{text-decoration:underline;color:slategray;}
a:link{text-decoration:none;color:slategray;}
-->
</style>
<script   language=JScript>
<!--
//可以打包为js文件;
var   x0=0,y0=0,x1=0,y1=0;
var   offx=6,offy=6;
var   moveable=false;
var   hover= 'orange ',normal= '#336699 ';//color;
var   index=10000;//z-index;
//开始拖动;
function   startDrag(obj)
{
if(event.button==1)
{
//锁定标题栏;
obj.setCapture();
//定义对象;
var   win   =   obj.parentNode;
var   sha   =   win.nextSibling;
//记录鼠标和层位置;
x0   =   event.clientX;
y0   =   event.clientY;
x1   =   parseInt(win.style.left);
y1   =   parseInt(win.style.top);
//记录颜色;
normal   =   obj.style.backgroundColor;
//改变风格;
obj.style.backgroundColor   =   hover;
win.style.borderColor   =   hover;
obj.nextSibling.style.color   =   hover;
sha.style.left   =   x1   +   offx;
sha.style.top   =   y1   +   offy;
moveable   =   true;
}
}
//拖动;
function   drag(obj)
{
if(moveable)
{
var   win   =   obj.parentNode;
var   sha   =   win.nextSibling;
win.style.left   =   x1   +   event.clientX   -   x0;
win.style.top   =   y1   +   event.clientY   -   y0;
sha.style.left   =   parseInt(win.style.left)   +   offx;
sha.style.top   =   parseInt(win.style.top)   +   offy;
}
}
//停止拖动;
function   stopDrag(obj)
{
if(moveable)
{
var   win   =   obj.parentNode;
var   sha   =   win.nextSibling;
var   msg   =   obj.nextSibling;
win.style.borderColor   =   normal;
obj.style.backgroundColor   =   normal;
msg.style.color   =   normal;
sha.style.left   =   obj.parentNode.style.left;
sha.style.top   =   obj.parentNode.style.top;
obj.releaseCapture();
moveable   =   false;
}
}
//获得焦点;
function   getFocus(obj)
{
if(obj.style.zIndex!=index)
{
index   =   index   +   2;
var   idx   =   index;
obj.style.zIndex=idx;
obj.nextSibling.style.zIndex=idx-1;
}
}
//最小化;
function   min(obj)
{
var   win   =   obj.parentNode.parentNode;
var   sha   =   win.nextSibling;
var   tit   =   obj.parentNode;
var   msg   =   tit.nextSibling;
var   flg   =   msg.style.display== "none ";
if(flg)
{
win.style.height   =   parseInt(msg.style.height)   +   parseInt(tit.style.height)   +   2*2;
sha.style.height   =   win.style.height;
msg.style.display   =   "block ";
obj.innerHTML   =   "0 ";
}
else
{
win.style.height   =   parseInt(tit.style.height)   +   2*2;
sha.style.height   =   win.style.height;
obj.innerHTML   =   "2 ";


msg.style.display   =   "none ";
}
}
//创建一个对象;
function   xWin(id,w,h,l,t,tit,msg)
{
index   =   index+2;
this.id   =   id;
this.width   =   w;
this.height   =   h;
this.left   =   l;
this.top   =   t;
this.zIndex   =   index;
this.title   =   tit;
this.message   =   msg;
this.obj   =   null;
this.bulid   =   bulid;
this.bulid();
}
//初始化;
function   bulid()
{
var   str   =   " "
+   " <div   id=xMsg "   +   this.id   +   "   "
+   "style= ' "
+   "z-index: "   +   this.zIndex   +   "; "
+   "width: "   +   this.width   +   "; "
+   "height: "   +   this.height   +   "; "
+   "left: "   +   this.left   +   "; "
+   "top: "   +   this.top   +   "; "
+   "background-color: "   +   normal   +   "; "
+   "color: "   +   normal   +   "; "
+   "font-size:8pt; "
+   "font-family:Tahoma; "
+   "position:absolute; "
+   "cursor:default; "
+   "border:2px   solid   "   +   normal   +   "; "
+   " '   "
+   "onmousedown= 'getFocus(this) '> "
+   " <div   "
+   "style= ' "
+   "background-color: "   +   normal   +   "; "
+   "width: "   +   (this.width-2*2)   +   "; "
+   "height:20; "
+   "color:white; "
+   " '   "
+   "onmousedown= 'startDrag(this) '   "
+   "onmouseup= 'stopDrag(this) '   "
+   "onmousemove= 'drag(this) '   "
+   "ondblclick= 'min(this.childNodes[1]) ' "
+   "> "
+   " <span   style= 'width: "   +   (this.width-2*12-4)   +   ";padding-left:3px; '> "   +   this.title   +   " </span> "
+   " <span   style= 'width:12;border-width:0px;color:white;font-family:webdings; '   onclick= 'min(this) '> 0 </span> "
+   " <span   style= 'width:12;border-width:0px;color:white;font-family:webdings; '   onclick= 'ShowHide(\ " "+this.id+ "\ ",null) '> r </span> "
+   " </div> "
+   " <div   style= ' "
+   "width:100%; "
+   "height: "   +   (this.height-20-4)   +   "; "
+   "background-color:white; "
+   "line-height:14px; "
+   "word-break:break-all; "
+   "padding:3px; "
+   " '> "   +   this.message   +   " </div> "
+   " </div> "
+   " <div   id=xMsg "   +   this.id   +   "bg   style= ' "


+   "width: "   +   this.width   +   "; "
+   "height: "   +   this.height   +   "; "
+   "top: "   +   this.top   +   "; "
+   "left: "   +   this.left   +   "; "
+   "z-index: "   +   (this.zIndex-1)   +   "; "
+   "position:absolute; "
+   "background-color:black; "
+   "filter:alpha(opacity=40); "
+   " '> </div> ";
document.body.insertAdjacentHTML( "beforeEnd ",str);
}
//显示隐藏窗口
function   ShowHide(id,dis){
var   bdisplay   =   (dis==null)?((document.getElementById( "xMsg "+id).style.display== " ")? "none ": " "):dis
document.getElementById( "xMsg "+id).style.display   =   bdisplay;
document.getElementById( "xMsg "+id+ "bg ").style.display   =   bdisplay;
}
//-->
</script>

<script   language= 'JScript '>
<!--
function   initialize()
{
var   a   =   new   xWin( "1 ",160,200,200,200, "窗口1 ", "xWin   <br>   A   Cool   Pop   Div   Window <br> Version:1.0 <br> 2002-8-13 ");
var   b   =   new   xWin( "2 ",240,200,100,100, "窗口2 ", "Welcome   to   visited   my   personal   website: <br> <a   href=http://www.youthfly.net   target=_blank> http://www.youthfly.net </a> <br> anducanalsosignmyguestbookat: <br> <ahref=http://www   ...   youthfly.net </a> <br> <br> thx!!!=)... ");  
var   c   =   new   xWin( "3 ",750,700,140,10, " <center> 个人简介 </center> ", "Copyright   by   网页一班! ");
ShowHide( "1 ", "none ");
ShowHide( "2 ", "none ");
ShowHide( "3 ", "none ");//隐藏窗口1
}
window.onload   =   initialize;
//-->
</script>
</head>
<!-- <base   target= "_blank "> -->
<body   onselectstart= 'return   false '   oncontextmenu= 'return   false '>
<a   href= "javascript:ShowHide( '1 ',null) "   > 窗口1 </a>
<a     href= "javascript:ShowHide( '2 ',null) "> 窗口2 </a>
<a     href= "javascript:ShowHide( '3 ',null) "> 窗口3 </a>

</body>
</html>
 


[解决办法]
ShowHide改为
--------------------------------------
function ShowHide(id,dis){
var w = document.getElementById( "xMsg "+id);
var w1 = w.nextSibling;

var bdisplay = (dis==null)?((w.style.display== " ")? "none ": " "):dis
w.style.display = bdisplay;
w1.style.display = bdisplay;

w.style.left = (document.body.clientWidth-w.style.width.replace( "px ", " "))/2;
w.style.top = (document.body.clientHeight-w.style.height.replace( "px ", " "))/2;

w1.style.left = parseInt(w.style.left) + offx;
w1.style.top = parseInt(w.style.top) + offy;

}


//resize的时候也重定位就可以了
------解决方案--------------------


function initialize()
{
var a = new xWin( "1 ",160,200,200,200, "窗口1 ", "xWin <br/> A Cool Pop Div Window <br/> Version:1.0 <br/> 2002-8-13 ");
var b = new xWin( "2 ",240,200,100,100, "窗口2 ", "Welcome to visited my personal website: <br/> <a href=http://www.youthfly.net target=_blank> http://www.youthfly.net </a> <br/> anducanalsosignmyguestbookat: <br/> <ahref=http://www ... youthfly.net </a> <br/> <br/> thx!!!=)... ");
var c = new xWin( "3 ",750,700,140,10, " <center> 个人简介 </center> ", "Copyright by 网页一班! ");
ShowHide( "1 ", "none ");
ShowHide( "2 ", "none ");
ShowHide( "3 ", "none ");//隐藏窗口1
center( '1 ');center( '2 ');center( '3 ');
}
window.onload = initialize;
//-->
function center(id)
{
xwin = document.getElementById( "xMsg "+id);
xwin.style.left = (document.body.clientWidth-xwin.style.width.replace( "px ", " "))/2;
xwin.style.top = (document.body.clientHeight-xwin.style.height.replace( "px ", " "))/2;

xwinbg = document.getElementById( "xMsg "+id+ "bg ");
xwinbg.style.left = (document.body.clientWidth-xwinbg.style.width.replace( "px ", " "))/2;
xwinbg.style.top = (document.body.clientHeight-xwinbg.style.height.replace( "px ", " "))/2;
}
加个方法,然后在初始化里加3个调用

热点排行