根据条件选择img源

时间:2017-02-07 08:41:05

标签: javascript jquery html css

有些东西我不明白是关于获取html元素的属性我有一个小项目来开发自己我必须得到img源元素它是迄今为止的okey但是每当我想用{{更改img源代码时宽屏幕上的1}}或data-tabletdata-mobil我的img来源并不刺激。我的错误是什么?

我想做什么? 我有data-web的{​​{1}} data-mobil有三个数据属性<480px,而data-mobil <768px属性将适用

编辑:根据分辨率实际

编辑2:我检查data-web但这不是我谈论的事情。我的问题是chacing image src我的意思是在dekstop上,在手机或平板电脑上会有不同的图像

please click to see my project on codepen

>=768px
srcset
$(function(){
  
  $(".box img").each(function(){
    var getWeb = $(this).parents(".box").find("img").attr("data-web");
    var getTablet = $(this).parents(".box").find("img").attr("data-tablet");
    var getMobil = $(this).parents(".box").find("img").attr("data-mobil");

    if ($(window).width() < 768) {
      $(this).attr("data-src",getTablet);
    }else if ($(window).width() < 480){
     $(this).attr("data-src",getMobil);
    }else if ($(window).width() > 480){
       $(this).attr("data-src",getTablet);
     }else if($(window).width() > 768)
    {
     $(this).attr("data-src",getWeb);
    }
   });
})

1 个答案:

答案 0 :(得分:3)

您的条件是否错误

条件应该是

if ($(window).width() > 768) {
   $(this).attr('src', getWeb);
} else if ($(window).width() < 768 && $(window).width() > 480) {
     $(this).attr('src', getTablet);
} else if ($(window).width() < 480) {
     $(this).attr('src', getMobil);
}

修改

您可以编写

,而不是编写这样长的get函数
var getWeb = $(this).attr("data-web");
var getTablet = $(this).attr("data-tablet");
var getMobil = $(this).attr("data-mobil");