9月更新・前月(8月)の人気記事トップ10 09/02/2024
- ( 01 – ) 【Labs】position:absoluteとwidth:100%を指定すると横幅の設定がうまくいかない場合の対処方法について
- ( 07 ↑) 【Mac】macOSをHigh SierraからMontereyにアップグレード
- ( 03 – ) 【Mac】横画面で撮影した動画をYouTubeショート用にMacのiMovieで縦画面に編集する方法
- ( 10 ↑) 【iPhone / iPad】iPhoneのツイッターアプリでユーザー名をコピーする方法
- (圏外↑) 【Labs】CSSだけでドロップダウンメニュー
- ( 02 ↓) 【jQuery】入門2. jQueryをHTMLに組み込む
- ( 09 ↑) 【Mac】Safariでソースコードを見る方法
- ( 04 ↓) 【jQuery】入門7. jQueryで新しいWindowを開く
- ( 06 ↓) 【2024年5月】iPad画面解像度まとめ
- (圏外↑) 【GIMP】レイヤーをロック
【Labs】JavaScriptで振り分ける方法2パターン
こんにちは(・∀・)
今日はJavaScriptで振り分ける方法2パターンをご紹介します。
JavaScriptとレスポンシブデザインの組み合わせ
レスポンシブデザインのサイトでスマホ向けとPC向けでJavaScriptを使い分けたい場合は多くあると思います。
スマホ向けのページにはJavaScriptを使いたいけどPC向けのページではJavaScriptは必要ない、逆の場合もあれば、またはそれぞれ別のスクリプトを使用したいこともあります。
Contents
Windowサイズで振り分ける
Windowサイズで振り分ける方法です。
サンプル
JavaScript
<script>
$(function(){
if($(window).width() < 769){
//forスマホ
}else{
//forPC
}
});
</script>
画面サイズで振り分けることができます。
要素の有無で判別
画面に表示されている要素の有無で振り分ける方法です。
サイトに表示させるグローバルナビやボタンなどはスマホサイトとPCサイトで変えていることは多いと思います。
例えばスマホサイトではハンバーガーボタンを使いますが、PCサイトでは別の方法でボタンを表示するなど。
それら要素の表示非表示を利用します。
サンプル
.is(':visible')または.is(':hidden')で要素の表示非表示を判別します。
CSS
<style>
#hoge {
display: none;
}
@media (min-width: 769px) {
#hoge {
display: block;
}
/* ** */}
</style>
JavaScript
<script>
$(function() {
$(window).on('load resize', function(){
if($('#hoge').is(': hidden')){
//forスマホ
} else {
//forPC
}
});
});
</script>
目印となる要素がdisplay:noneなのかdisplay:blockなのかで判別して振り分けます。
参考
javascript(jQuery)でメディアクエリを判定する方法(IE9対応)