matchMediaを使ってみる

以前Media QueriesのブレークポイントでJavaScriptを実行する方法という記事を書きましたが、matchMediaというメソッドを使用すると同じような事ができるようなので試してみました。

対応ブラウザ

matchMediaが対応しているブラウザはこちら。
IE10からの対応になります。

try-to-use-the-matchMedia01

 

サンプルコード

CSSで要素の出し分けを行ってみます。

HTML

<div class="pc">PCサイズ</div>
<div class="sp">SPサイズ</div>

CSS

@media (max-width: 640px) {
	.pc {
		display: none;
	}
}
@media (min-width: 641px) {
	.sp {
		display: none;
	}
}

JavaScript

上記で設定したCSSに合わせてconsoleを出すようにしてみます。

window.addEventListener('resize', function (event) {
	if(window.matchMedia('(max-width: 640px)').matches) {
		console.log('SPサイズ');
	}
	if(window.matchMedia('(min-width: 641px)').matches) {
		console.log('PCサイズ');
	}
});

リサイズする毎にウインドウサイズに応じたconsoleを表示するようになりました。
matchMediaを使ってみるのデモページ
 

【参考サイト】

 

このエントリーをはてなブックマークに追加

関連記事

コメントを残す

メールアドレスが公開されることはありません。
* が付いている欄は必須項目です

CAPTCHA


コメントが承認されるまで時間がかかります。

2024年4月
 123456
78910111213
14151617181920
21222324252627
282930