案5.JavaScript

Webデザイン

カテゴリー: レスポンシブ画像  閲覧数:960 配信日: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 コードを処理分岐


週間人気ページランキング / 10-29 → 11-4
順位 ページタイトル抜粋 アクセス数
1 Design 0 9
2 「bgcolor」「background-color」「background」の違い | CSS 7
3 ログイン 6
4 CSS カテゴリー 5
5 黒体 / 色温度 / D65(6500K)/ D50(5000K)/ K | 色 4
6 「display:flex;」を設定している「
  • タグ」内の「タグ」クリック範囲を拡大する | Flexible Box Layout Module(CSS)
  • 3
    6 右クリック出来るのに、コピペ出来ないWebページ。2020 年 | ブラウザ 3
    6 血の色 / #b30000 / #360800 / #ff0000 | カラーコード(色) 3
    7 スキップリンク | アクセシビリティ(UI) 2
    7 画像素材 | 画像 2
    7 Stylus(Chrome 拡張機能) カテゴリー 2
    7 height:100%;の効果を打ち消す(あるいは上書きする)には、height:auto!important; | CSS 2
    7 textareaのスクロールバーが横へはみ出す場合は、「box-sizing:border-box;」を指定する | CSS 2
    7 「コズミックブルー」は、くすんだ青系全般の色を指す用語だと思います。 | カラーコード(色) 2
    7 「パッケージ化されてない拡張機能を読み込む」でインストールした拡張は、chromeを「更新」すると正常動作しなくなることがあります。 | Chrome 拡張機能 2
    7 画像 2
    7 Chromeブックマーク(ブラウザ) カテゴリー 2
    7 「position:sticky;」がどうしても効かない →
    を一旦削除してみる →
    に「display:inline;」を指定 | CSSトラブル対応(CSS)
    2
    7 フェイスアイコンメーカー / オリジナル顔アイコン / 江崎グリコ株式会社 2
    7 カラーマネージメント | 色 2
    2026/11/5 5:05 更新
    指定期間人気ページランキング / 2020-5-30 → 2026-11-4
    順位 ページタイトル抜粋 アクセス数
    1 RGB ⇔ Lab | 色変換(色) 8959
    2 「マウスオーバー」「ロールオーバー」「ホバー」の違い | CSS 4639
    3 Design 0 4318
    4 血の色 / #b30000 / #360800 / #ff0000 | カラーコード(色) 3817
    5 RGBの種類 / ビットカラー | RGB(色) 2845
    6 Windows10で「Google Chrome」が常に最前面に表示される。「アクティブウィンドウ」が最前面で表示されない → 解決方法存在しない | Google Chrome(ブラウザ) 2811
    7 「bgcolor」「background-color」「background」の違い | CSS 2130
    8 Chromeデベロッパーツールで、スマホソースコードを確認したいが、USBデバッグ機能をどうしても有効にすることが出来ない | モバイルデザイン(デザイン) 2106
    9 金融機関ブランドカラー / コーポレートカラー | カラーコード(色) 2005
    10 「コズミックブルー」は、くすんだ青系全般の色を指す用語だと思います。 | カラーコード(色) 1916
    11 16進数カラーコード / 2進数 1900
    12 「:hover」「z-index」を組み合わせて使用すると、正常動作しないことがある | z-index(CSS) 1736
    13 「Font Awesome 4」と「Font Awesome 5」の違い(Font Awesome バージョン4からのアップグレード) | Font Awesome(フォント) 1712
    14 「属性」「プロパティ」「アトリビュート」の違い | CSS 1702
    15 「パッケージ化されてない拡張機能を読み込む」でインストールした拡張は、chromeを「更新」すると正常動作しなくなることがあります。 | Chrome 拡張機能(ブラウザ) 1582
    16 「Bootstrapデザイン」✕「グラフ」 | 2系(Bootstrap) 1550
    17 「東京都」のカラーコード取得は難しい | カラーコード(色) 1514
    18 Chrome でキャッシュを効かさない | Google Chrome(ブラウザ) 1405
    19 「西武鉄道株式会社」のブランドカラーは、3色(#3366CC、#66CCFF、#33CC66) | 色 1279
    20 「Chrome拡張機能」開発中に遭遇したエラー | Chrome 拡張機能 1257
    2026/11/5 5:05 更新