作者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
→ kewl:順帶一提,把 "document.documentElement.clientWidth" alert 10/09 01:32
→ kewl:是有東西的 10/09 01:34
→ kewl:真奇怪了@@ 不過問題算是解決了 還是T大 10/09 01:34
→ kewl: 謝謝T大 10/09 01:35
推 buganini:加上單位px咧? 後來怎麼解決的? 10/09 08:04