- HOME
- > BLOG CATEGORY
- 【jQuery】レスポンシブデザインでPC画像とスマホ画像を切り替える方法
こんな方に読んでほしい
[記事の内容]
以前でしたら、
スマートフォンよりPCの方を考えてデザインをする
現在でしたら、
PCよりスマートフォンの方を考えてデザインする時代になってきております。

私もブログを書いてますが、スマートフォンが73.6%、PCが26.4%
約7割の方がスマートフォンで見てくれてますね!ありがとうございます。
約7割も、やはりSNSの普及が要因なのではないでしょうか。
でわ、本題に入って行きましょう。

pc_img.jpg
sp_img.jpg<img src="../pc_img.jpg" alt="PC画像" class="pc_img">
<img src="../sp_img.jpg" alt="スマートフォン画像" class="sp_img">
html記述してる際にクラス名に注目してください。
PCの場合:class=”pc_img”
スマートフォンの場合:class=”sp_img”
このクラス名は次のCSSにてご説明いたします。
/* PCで見た際にはpc画像を表示する */
.pc_img {
display: block;
}
/* PCで見た際にはスマートフォン画像は非表示する */
.sp_img {
display: none;
}
@media screen and (max-width:736px) {
/* スマートフォンで見た際にはpc画像は非表示する */
.pc_img {
display: none;
}
/* スマートフォンで見た際にはsp画像を表示する */
.sp_img {
display: block;
}
}
pc_img_pc.jpg
sp_img_sp.jpg<img src="../pc_img_pc.jpg" alt="PC画像" class="switch" />最初にご紹介したCSSを使う場合とは違い、
注目するポイントは2点です。画像のパスに_pcとクラス名にswitchを記述しております。
またスマートフォン用は今回は記述いたしましせん。
$(function() {
// 切り替える対象にclass属性。
var $elem = $('.switch');
// 切り替えの対象のsrc属性の末尾の文字列。
var sp = '_sp.';
var pc = '_pc.';
// 画像を切り替えるウィンドウサイズ。
var replaceWidth = 768;
function imageSwitch() {
// ウィンドウサイズを取得する。
var windowWidth = parseInt($(window).width());
// ページ内にあるすべての`.switch`に適応される。
$elem.each(function() {
var $this = $(this);
// ウィンドウサイズが768px以上であれば_spを_pcに置換する。
if(windowWidth >= replaceWidth) {
$this.attr('src', $this.attr('src').replace(sp, pc));
// ウィンドウサイズが768px未満であれば_pcを_spに置換する。
} else {
$this.attr('src', $this.attr('src').replace(pc, sp));
}
});
}
imageSwitch();
// 動的なリサイズは操作後0.2秒経ってから処理を実行する。
var resizeTimer;
$(window).on('resize', function() {
clearTimeout(resizeTimer);
resizeTimer = setTimeout(function() {
imageSwitch();
}, 200);
});
});
今回はこれで以上です。
2025.10.17
2025.10.17
2025.10.15
2025.08.16
2025.08.13
2025.08.12
2023.06.15
2022.06.30
2020.03.22
2020.03.06

© 2025 shu-naka-blog