LoginSignup
27
26

More than 5 years have passed since last update.

ウィンドウサイズの取得

Last updated at Posted at 2013-11-06

ウィンドウサイズのプロパティ

ウィンドウサイズは

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);
27
26
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
27
26