7
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【JavaScript】レスポンシブな条件分岐にはwindow.matchMediaを使う

Last updated at Posted at 2020-08-02

JavaScriptを書いていて良く使用するレスポンシブな条件分岐は下記2つのパターンだと思います。どちらもwindow.matchMediaを使えば簡単に実装することができます。

  • デバイス幅が〇〇px以上と以下で処理を分岐したい
  • 特定のデバイス幅を通過したときに処理を実行したい

今回はこちらの2つの頻出パターンについて紹介します。

デバイス幅が〇〇px以上と以下で処理を分岐したい

こちらの条件分岐は、PCとスマホで処理を分けたいときなどに重宝します。一番良く使いますね。

JavaScript
const matchMedia = window.matchMedia('(max-width:1000px)');

if (matchMedia.matches) {
  // 1000px以下で行う処理
} else {
  // 1001px以上で行う処理
}

ちなみに**if (!matchMedia.matches)**とすることで、条件にマッチしないときといった条件分岐を行うこともできます。

特定のデバイス幅を通過したときに処理を実行したい

特定のデバイス幅を通過したときに何か必ず実行したい処理があるときなんかに便利です。

JavaScript
const matchMedia = window.matchMedia('(max-width:1000px)');

// 1000px通過時にmyFuncを実行する
matchMedia.addListener(myFunc);

Twitterアカウント

Twitterも更新していますので、よかったらフォローお願いします!
Twitterアカウントはこちら

7
5
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
7
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?