Movatterモバイル変換


[0]ホーム

URL:


Skip to content

DESIGN REMARKS [デザインリマークス]

POSTED: / UPDATED:2019年11月23日

JavaScriptでwindowの幅による条件分岐を作る方法

サイト構築をしていると様々な場面で条件分岐が必要になることがありますよね。特にレスポンシブデザインになってからはウィンドウ幅による条件分岐をよく使います。

CSSであればメディアクエリーでやればいいのですが、JavaScriptの場合にはどうしていますか?普通にウィンドウ幅を取得して分岐ということが多いかと思いますが、今回は私なりの方法をご紹介します。

まず正確なウィンドウ幅を取得します。

ウィンドウ幅を取得するにもスクロールバーを含めたり含めなかったりと色々な方法がありますが、今回はCSSのメディアクエリーの反応と同じにするため、スクロールバーを含めた値を取得することにします。ここが間違っているとその先が全部狂ってしまうので、以下の記述で正確な値を取得しましょう。

$windowWidth = window.innerWidth;

javascriptでのwindow.innerWidthで取得するかjQueryの$(window).width();で取得する方法もありますが、このjQueryの方はスクロールバーを含めない値を取得することになりますので、javascriptでのwindow.innerWidthで取得します。

ここで取得したウィンドウ幅の変数をそのままダイレクトに使ってもいいのですが、少し加工していきます。

PCサイズ、タブレットサイズ、モバイルサイズの変数に振り分ける。

サイトによってブレイクポイントは様々ですが、今回の場合は480px/768pxで設定し、480以下はモバイル、480以上768以下はタブレット、768以上はPCという構造にしてみます。

$windowWidth = window.innerWidth;$breakPointA = 480;$breakPointB = 768;isMobileSize = ($windowWidth < $breakPointA);isTabletSize = ($windowWidth <= $breakPointB) && ($windowWidth > $breakPointA);isPcSize = ($windowWidth > $breakPointB);

このように記述することで、isMobileSize/isTabletSize/isPcSizeという三つの条件を作ることができました。条件分岐の度に数値を書いたりせずに解りやすく使うことができます。

if(isMobileSize){//モバイルサイズの場合の記述}if(isTabletSize){//タブレットサイズの場合の記述}if(isPcSize){//PCサイズの場合の記述}

 

いかがでしょうか。

今や大きいスマホや小さいタブレットなど、あるいはタブレットPCというものもあるので、モバイル/タブレット/PCという棲み分けが古い考えになってきていると思いますので、スモール/ミドル/ビッグなどでもいいかもしれませんね。

この記事をシェアする

  • Xにシェア
  • facebookにシェア
  • LINEにシェア
  • POCKETにシェア

コメントを残す

コメントを投稿するにはログインしてください。

関連記事

管理者

サイトの管理者のゆすけです。
美大卒業後、グラフィック・WEBデザイナー等を経て、現在はUI/UXデザイナーをしています。Xでも様々な発信をしていますのでぜひフォローお願いします。

最近の投稿

素材写真っぽく見せないデザイン術 ― ストックフォトを自然に使う方法
目的から逆算するグラフィックデザイン ― “美しさ”を成果に変える設計思考
2025年最新のレスポンシブデザイン ― すべてのデバイスで最適な体験を届ける
コンバージョンを高めるWEBデザイン ― ビジネスを動かすUIの秘訣
SNS時代のグラフィックデザイン ― 拡散されるビジュアルの条件

最近のニュース

手描きによる文字デザイン作例集の名著『増補新装版 作字百景 ニュー日本もじデザイン』が増補新装版として再登場。
『入稿データのつくりかた 改訂版 CMYK4色印刷・特色2色印刷・名刺・ハガキ・同人誌・グッズ類』発売
「After Effectsモーションデザイン すぐに使える実用アイデア見本帳」9月27日発売
『デザインの守破離 自分だけのデザインでひとつ上へ行く』発売
『Simple「簡潔さ」は最強の戦略である』発売 あらゆる言葉を少なく、短く、最速にせよ!

おすすめの広告


[8]ページ先頭

©2009-2025 Movatter.jp