我试图根据屏幕宽度更改图像的文件路径。我已经得到它的工作,因为文件路径确实发生了变化,但它只影响第一个元素,因为它将所有文件路径更改为同一个文件路径。交换具有相同类名的多个文件路径
当我在浏览器中查看我的代码时,图像1和图像2被替换为src="Images/image.jpg"
。有人可以帮助我确定我需要做什么/更改,以便它唯一影响类名为“swap-image”的每个元素?
如,改变
src="Images/image.jpg"
src="Images/image1.jpg"
到
src="Images/tablet/image.jpg"
src="Images/tablet/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>