画面の幅に応じて画像のファイルパスを変更しようとしています。ファイルパスが変更される限り動作するようになっていますが、すべてのファイルパスを同じパスに変更するという点で最初の要素にのみ影響します。スワップ同じクラス名を持つ複数のファイルパス
ブラウザでコードを表示すると、画像1と画像2の両方がsrc="Images/image.jpg"
に置き換えられます。クラス名「swap-image」を持つすべての要素に一意に影響を与えるためには、誰かが私が行う必要があることを識別するのに役立つでしょうか?
ようで、
src="Images/tablet/image.jpg"
src="Images/tablet/image1.jpg"
に
src="Images/image.jpg"
src="Images/image1.jpg"
を変更するには、事前にありがとうございます。
<body>
<img class="swap-image" src="Images/image.jpg" />
<img class="swap-image" src="Images/image1.jpg" />
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script>
$(document).ready(function() {
var swapImageClass = document.getElementsByClassName("swap-image");
var i;
for (i = 0; i < swapImageClass.length; i++) {
var src = $(swapImageClass).attr('src'); // "Images/image.jpg"
var tarr = src.split('/'); // ["static","Images","banner","image.jpg"]
var file = tarr[tarr.length - 1]; // "image.jpg"
var data = file.split('.')[0]; // "image"
$(window).on('load resize', function() {
$(swapImageClass).each(function() {
if ($(window).width() > 1025) {
$(swapImageClass).attr('src', 'Images/' + file);
}
else if ($(window).width() > 481 && $(window).width() < 1024) {
$(swapImageClass).attr('src', 'Images/tablet/' + file);
}
else if ($(window).width() > 0 && $(window).width() < 480) {
$(swapImageClass).attr('src', 'Images/mobile/' + file);
}
});
});
};
});
</script>
</body>