私は簡単なスワップimg srcを作成しようとしています。ブラウザは小さな画面にリサイズされますが、何らかの理由で私のコードが動作しません。誰かがこの問題を助けてくれることを願っています。私は最初のものと同じフォルダに2D画像を持っています。
ありがとう
HTMLコード:
<div class="body-bg">
<img src="/images/img-01.jpg" class="img-01">
<h1>Example</h1>
<h2>Example</h2>
</div>
jQueryコード:
$(function(){
var $window = $(window);
function resize() {
if ($window.width() < 750) {
$(".img-01").attr("src","img-01.jpg");
}
else if ($window.width() > 750) {
$(".img-01").attr("src","img-02.jpg");
}
}
});
回答:
回答№1は1あなたは実際には resize
関数。 JavaScriptを次のように置き換えてみてください:
$(function(){
var $window = $(window);
function resize() {
if ($window.width() < 750) {
$(".img-01").attr("src","img-01.jpg");
}
else if ($window.width() > 750) {
$(".img-01").attr("src","img-02.jpg");
}
}
$window.on("resize", resize);
});
$window.on("resize", resize);
ウィンドウのサイズ変更イベントで関数を実行します。
回答№2の場合は1
宣言されたサイズ変更関数をで呼び出す必要があります
1)文書準備機能および
2)ウィンドウのサイズ変更イベント。
また、画像を選択するコードを以下のように最適化することもできます。
$(function(){
var $window = $(window);
var img_01= $(".img-01");
function resize() {
img_01.attr("src",$window.width() < 750 ? "img-01.jpg" :"img-02.jpg");
}
resize();
$window.on("resize", resize);
});
回答№3の場合は1
あなたは。サイズを変更する()jqueryメソッド
$(window).on("resize", function(){
var $window= $(this); //this = window
if ($window.width() < 750) {
$(".img-01").attr("src","img-01.jpg");
}else if ($window.width() > 750) {
$(".img-01").attr("src","img-02.jpg");
}
});
純粋なjsで:
window.onresize = function() {
if (window.innerHeight < 750) {
$(".img-01").attr("src","img-01.jpg");
}
if (window.innerWidth <= 1280) {
$(".img-01").attr("src","img-02.jpg");
}
}
回答№4の場合は0
次のようなサイズ変更イベントを待ち受けるのを忘れてしまった:
$(function() {
var $window = $(window);
function resize() {
if ($window.width() < 750) {
$(".img-01").attr("src", "img-01.jpg");
} else if ($resize()window.width() > 750) {
$(".img-01").attr("src", "img-02.jpg");
}
}
resize();
$window.on("resize", function() {
resize();
});
});
回答№5の場合は0
たぶん、JavaScriptを使用する代わりに、このためにCSSの@mediaを使用することを検討してください。 この答え モバイルブラウザは@mediaを尊重し、不要な画像をダウンロードしないようにする必要があります。
<style>
.mobile-only{display: none;}
.desktop-only{display: block;}
@media (min-width:750px) {
.mobile-only{display: block;}
.desktop-only{display: none;}
}
</style>
<div class="body-bg">
<img src="/images/img-01.jpg" class="img-01 mobile-view">
<img src="img-01.jpg" class="img-01 desktop-view">
<h1>Example</h1>
<h2>Example</h2>
</div>