案5.JavaScript

Webデザイン

カテゴリー: レスポンシブ画像  閲覧数:899 配信日:2015-08-19 22:00


案5-1.window.innerWidth


▼HTML
<img id="target">


▼JS
function changeImgSrc(width) {
 if (width > 768) {
   document.getElementById('target').src = "img/768.jpg";
 } else {
   document.getElementById('target').src = "img/640.jpg";
 }
}

var width = window.innerWidth;
changeImgSrc(width); // 初回
console.log(width); //1024

window.onresize = function resize() {
 var currentWidth = window.innerWidth;
 if ( (width < 768 && 768 <= currentWidth) || ( width > 768 && 768 >= currentWidth) ) {
   // 画面幅が 768px を堺に変わった時だけ呼ばれる
   changeImgSrc(currentWidth);
 }
 width = currentWidth;
};



画面幅に応じて画像を出し分ける方法


案5-2.window.matchMedia


▼HTML
<img id="target">


▼JS
function changeImgSrc() {
 if (window.matchMedia( "(min-width: 768px)" ).matches) {
   /* ビューポートの幅が 768 ピクセル以上の場合のコードをここに */
   document.getElementById('target').src = "img/768.jpg";
 } else {
   /* ビューポートの幅は 768 ピクセル未満の場合のコードをここに */
   document.getElementById('target').src = "img/640.jpg";
 }
}
window.addEventListener('resize', changeImgSrc, false);
window.addEventListener('load', changeImgSrc, false);



window.matchMedia / スクリーンサイズに応じて JavaScript コードを処理分岐


週間人気ページランキング / 3-29 → 4-4
順位 ページタイトル抜粋 アクセス数
1 Design 0 16
2 Chromeシークレットモードで、ウインドウ幅をリサイズしようとすると、下限制限を受ける | Google Chrome(ブラウザ) 13
3 Material Design 2014 年 | Material Design(色) 10
4 拡張機能が Chrome によって無効にされました / この拡張機能は破損している可能性があります。 | Chrome 拡張機能 9
5 RGBの種類 / ビットカラー | RGB(色) 6
6 RGB ⇔ Lab | 色変換(色) 5
6 Chromeデベロッパーツールで、スマホソースコードを確認したいが、USBデバッグ機能をどうしても有効にすることが出来ない | モバイルデザイン(デザイン) 5
6 空間的 / 可逆な JPEG ファイルの読み込みは実行されません | Photoshop CS3(Photoshop) 5
7 キャラクター無料作成ジェネレーター / FLASH / オンラインサービス | イラスト参考(デザイン) 4
7 画像縦横比の問題 | 画像 4
7 「属性」「プロパティ」「アトリビュート」の違い | CSS 4
7 「position:absolute;」指定する際は、必ず(親要素を含む)祖先要素の何れかで「position」を明示的に指定 | position(CSS) 4
7 漫画 カテゴリー 4
7 Adobe Camera Raw 4.0 | Photoshop 4
8 FontAwesomeでアイコンが□(四角)になって表示されない Forbidden  | Font Awesome(フォント) 3
8 「bgcolor」「background-color」「background」の違い | CSS 3
8 「:hover」「z-index」を組み合わせて使用すると、正常動作しないことがある | z-index(CSS) 3
8 「東京都」のカラーコード取得は難しい | カラーコード(色) 3
8 「パッケージ化されてない拡張機能を読み込む」でインストールした拡張は、chromeを「更新」すると正常動作しなくなることがあります。 | Chrome 拡張機能 3
8 Font Awesome(フォント) カテゴリー 3
2026/4/5 5:05 更新
指定期間人気ページランキング / 2020-5-30 → 2026-4-4
順位 ページタイトル抜粋 アクセス数
1 RGB ⇔ Lab | 色変換(色) 8928
2 「マウスオーバー」「ロールオーバー」「ホバー」の違い | CSS 4619
3 Design 0 4068
4 血の色 / #b30000 / #360800 / #ff0000 | カラーコード(色) 3794
5 Windows10で「Google Chrome」が常に最前面に表示される。「アクティブウィンドウ」が最前面で表示されない → 解決方法存在しない | Google Chrome(ブラウザ) 2783
6 RGBの種類 / ビットカラー | RGB(色) 2772
7 「bgcolor」「background-color」「background」の違い | CSS 2099
8 Chromeデベロッパーツールで、スマホソースコードを確認したいが、USBデバッグ機能をどうしても有効にすることが出来ない | モバイルデザイン(デザイン) 2080
9 金融機関ブランドカラー / コーポレートカラー | カラーコード(色) 1981
10 16進数カラーコード / 2進数 1886
11 「コズミックブルー」は、くすんだ青系全般の色を指す用語だと思います。 | カラーコード(色) 1882
12 「:hover」「z-index」を組み合わせて使用すると、正常動作しないことがある | z-index(CSS) 1716
13 「Font Awesome 4」と「Font Awesome 5」の違い(Font Awesome バージョン4からのアップグレード) | Font Awesome(フォント) 1702
14 「属性」「プロパティ」「アトリビュート」の違い | CSS 1642
15 「パッケージ化されてない拡張機能を読み込む」でインストールした拡張は、chromeを「更新」すると正常動作しなくなることがあります。 | Chrome 拡張機能(ブラウザ) 1563
16 「Bootstrapデザイン」✕「グラフ」 | 2系(Bootstrap) 1535
17 「東京都」のカラーコード取得は難しい | カラーコード(色) 1431
18 Chrome でキャッシュを効かさない | Google Chrome(ブラウザ) 1392
19 「Chrome拡張機能」開発中に遭遇したエラー | Chrome 拡張機能 1246
20 「西武鉄道株式会社」のブランドカラーは、3色(#3366CC、#66CCFF、#33CC66) | 色 1226
2026/4/5 5:05 更新