今天遇到一个弹出层插件在IE下是垂直和水平居中的,但是在火狐下却跑位了。看了下graybox里面的定位函数,写了个通用计算函数。
首先这个弹出层要具有"position:absolute;"样式。通过设置left和top实现水平和垂直居中。由于浏览器的窗口宽高是动态变化的,所以需要使用js动态计算。
函数源码如下:
<script language="javascript"> // 计算对象居中需要设置的left和top值 // 参数: // _w - 对象的宽度 // _h - 对象的高度 function getLT(_w,_h) { var de = document.documentElement; // 获取当前浏览器窗口的宽度和高度 // 兼容写法,可兼容ie,ff var w = self.innerWidth || (de&&de.clientWidth) || document.body.clientWidth; var h = (de&&de.clientHeight) || document.body.clientHeight; // 获取当前滚动条的位置 // 兼容写法,可兼容ie,ff var st= (de&&de.scrollTop) || document.body.scrollTop; var topp=0; if(h>_h) topp=(st+(h - _h)/2); else topp=st; var leftp = 0; if(w>_w) leftp = ((w - _w)/2); // 左侧距,顶部距 return [leftp,topp]; } </script>
测试:将下列代码放入</body>之前。
<script language="javascript"> var re = getLT(200,200); document.getElementById("pop_win").style.left = re[0] + 'px'; document.getElementById("pop_win").style.top = re[1] + 'px'; </script>
呵呵,谢谢
VaTG790i.最好的<a href=http://www.kyfei.com>网站推广软件</a>,
非常好
....................
;ui;普i;uighur;ui;ui;个
在unix网络编程中看到了关于TCP/IP的一些内容,我感觉还是写的不够。正在下载中,一定
下载地址呢