ウィンドウサイズのプロパティ
ウィンドウサイズは
w = window.innerWidth;
h = window.innerHeight;
で取れるが、IEでは取れない。
IEの場合
w = document.documentElement.clientWidth; // (クライアント領域の横幅)
h = document.documentElement.clientHeight; // (クライアント領域の高さ)
参考: クライアント領域サイズを得る(ダイナミックHTMLとDOM)
2つの変数の片方を拾う
var x = 5;
var y;
alert(x || y);
この結果は 5
になるが、 x=0
だったら undefined
になってしまう。
x
がfalsyだから次に y
を評価して undefined
が返ってくる。
falsyな値を最終的に 0
にするなら
alert(x || y || 0);
とすればよさげ。
ウィンドウサイズと座標の取得
これらを踏まえて、最終的に以下の形で落ち着いた。
var windowLeft = (window.screenLeft || window.screenX || 0);
var windowTop = (window.screenTop || window.screenY || 0);
var windowWidth = (window.innerWidth || document.documentElement.clientWidth || 0);
var windowHeight = (window.innerHeight || document.documentElement.clientHeight || 0);