javascript - 使用javascript更改移动版本的图像源文件夹

标签 javascript

抱歉,我是 JS 新手,在使用我在 stackoverflow 上找到的一些 JS 时遇到了问题。我的情况是,我有一个 div,里面有两个图像,我想在窗口小于 480px 时更改这些图像的源路径。我的代码是这样的:

<div id="bigFoto">
<img src="img/photo1.jpg" alt="text for alt" id="photo1">
<img src="img/photo2.jpg" alt="text for alt" id="photo2">
</div>

我当前运行的脚本是:

$(window).resize(function(){
    var width = $(window).width(); 

    if (width < 481) {
      $("#bigFoto img#photo1").attr("src","img/mobile/photo1.jpg");
      $("#bigFoto img#photo2").attr("src","img/mobile/photo2.jpg");
    }
    else{
      $("#bigFoto img#photo1").attr("src","img/photo1.jpg");
      $("#bigFoto img#photo2").attr("src","img/photo2.jpg");
    }
}); 

这个脚本工作正常,但现在假设我希望该 div 有 20 个图像,我的猜测是我必须将它们中的每一个都添加到这个脚本中,对吗?

真正的问题:有没有一种方法可以定位所有图像并仅在源路径上添加/mobile 部分? ,因为文件名保持不变。

非常感谢您的帮助!

最佳答案

您可以使用 jQuery 的each 函数来循环查询返回的所有元素

$(window).resize(function(){
    var width = $(window).width(); 

    if (width < 481) {
      $("#bigFoto img").each(function(index){
        var src = $(this).attr("src")
        var photoName = src.substr(src.lastIndexOf("/"));
        $(this).attr("src", "img/mobile/"+photoName)
      })
    }
    else{
      $("#bigFoto img").each(function(index){
        var src = $(this).attr("src")
        var photoName = src.substr(src.lastIndexOf("/"));
        $(this).attr("src", "img/"+photoName)
      })
    }
}); 

关于javascript - 使用javascript更改移动版本的图像源文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23901333/

相关文章:

javascript - 我应该将 Jasmine 文件存储在 Symfony 项目中的什么位置?

javascript - 当用户在 div 外部单击时的 JQuery 事件?

javascript - 单击时保持导航元素突出显示

javascript - ReactJS - this.functionname 不是函数

javascript - Firebasefunctions.auth.user().onCreate不触发

javascript - 江青手机 : Calling a function with Multiple Parameters from a Listview

javascript - jQuery 动画在 Internet Explorer 中不起作用/行为异常

javascript - 使用 Javascript 更改 DropDownList 数据

javascript - 如何在android中等待javascript的返回值并继续

javascript - 如何在 Angularjs Protractor 中使用全局函数?