お世話になっております。
以下、jQueryのコードをより効率的な(可読性も重視した)実装にできないか
教えていただきたいです。
サンプルコード
Jsfiddle
jQuery
1$(function() { 2 var winWidth= $(window).outerWidth(); 3 var navUA= navigator.userAgent; 4 // 画面幅が639px以下、または UAがiPhone 又は Androidスマートフォンの時 5 if (winWidth <= 639 || navUA.indexOf('iPhone') > 0 || navUA.indexOf('Android') > 0 && navUA.indexOf('Mobile') > 0) { 6 // SP時の処理 7 console.log('SP') 8 } else { 9 // PC時の処理 10 console.log('PC') 11 } 12 // リサイズ処理 13 $(window).resize(function() { 14 var winWidth= $(window).outerWidth(); 15 var navUA= navigator.userAgent; 16 // 画面幅が639px以下、または UAがiPhone 又は Androidスマートフォンの時 17 if (winWidth <= 639 || navUA.indexOf('iPhone') > 0 || navUA.indexOf('Android') > 0 && navUA.indexOf('Mobile') > 0) { 18 // SP時の処理 19 console.log('SP') 20 } else { 21 // PC時の処理 22 console.log('PC') 23 } 24 }); 25}); 26
疑問点
①PC・SP判定でググると、「windowsサイズで切り分ける方法」「UAで切り分ける方法」
「どちらも使う方法」があるように見受けられるのですが、正解はあるのでしょうか?
※サンプルコードは、「どちらも使う方法」で実装しています。
②window.resizeのため、同じ処理を2回書くことに美意識的なものかもしれませんが
少し抵抗があるのですが、より効率的で可読性の高い実装方法はあるでしょうか?
何卒宜しくお願いします。
回答3件
あなたの回答
tips
プレビュー