作者kewl (痴)
看板Ajax
标题Re: [问题] javascript 取得浏览器长宽的问题
时间Tue Oct 9 01:29:52 2007
※ 引述《TonyQ (骨头)》之铭言:
: ※ 引述《kewl (痴)》之铭言:
: : 取得浏览器长跟宽我知道可以用下面的用法
: : var w = windows.document.body.clientWidth // 取得 width
: : var h = windows.document.body.clientHeight // 取得 height
: : 那请问有没有办法在浏览器的大小改变的同时改变 w 跟 h 的值阿
: : 或是请问 javascript 有办法取得 "改变视窗大小" 这个事件吗
: : 多谢指点罗 :)
: body 上的 onresize 事件可以取得
的确是用 onresize 喔 多谢:)
: (Fx跟IE的event name好像不一样,
: 印象中一个是 onresize 一个是resize , 请确认一下 . )
: 还有我之前做的印象,这两个值在IE下,可能只能抓到最大时候的值。
: 我记得我後来是用
: document.documentElement.clientWidth
: document.documentElement.clientHeight
: 这两个去抓。
: 我可以确定IE ok , Fx我那时候因为有用activeX的关系就没另外测了... :P
实际上我是要做类似 lightbox 那样的 DOM
就像下面程式码
HTML
----------------------
<div id = "bg"></div>
<a href = "javascript:show();">Click Me</a>
css
-----------------------
#bg {
background: #000000;
position: absolute;
left: 0;
top: 0;
filter: Alpha(opacity = 60);
opacity:0.6;
-moz-opacity:0.6;
display: none;
}
javascript (有用到 prototype 类别库)
--------------------------
var rsize = function () {
$("bg").style.width = window.document.body.clientWidth;
$("bg").style.height = window.document.body.clientHeight;
};
windows.onresize = rsize;
function show() {
$("bg").style.width = window.document.body.clientWidth;
$("bg").style.height = window.document.body.clientHeight;
$("bg").style.display = "block";
}
以上可以正常运作
IE、FireFox 皆可
可是我如果把 resize 里面的
$("bg").style.width = window.document.body.clientWidth;
(height略..)
换成
$("bg").style.width = document.documentElement.clientWidth;
(height略..)
一旦 触发 resize 以後,整个 div 区域就会不见 @@
不知道是不是我用错了方法 ?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.139.134.77
1F:→ kewl:顺带一提,把 "document.documentElement.clientWidth" alert 10/09 01:32
2F:→ kewl:是有东西的 10/09 01:34
3F:→ kewl:真奇怪了@@ 不过问题算是解决了 还是T大 10/09 01:34
4F:→ kewl: 谢谢T大 10/09 01:35
5F:推 buganini:加上单位px咧? 後来怎麽解决的? 10/09 08:04