函数跳过if条件语句中的1个

时间:2016-03-18 04:40:41

标签: javascript jquery if-statement

我有以下脚本,每次轮播加载项目时都会检查不同大小的图像,并根据其大小应用一个类。它适用于所有图像,但功能中只有一个字符串。

未读取的字符串:

  if (img.width() == '728' && img.height() == '90' || img.width() == '468' && img.height() == '60') {
      img.addClass('tops');
    }

剧本:

$("#carousel-container-mobile, #carousel-container-desktop").on('slid.bs.carousel', function() {
  var imgs = $('.item');
  $(imgs).each(function() {
    var img = $('img', this);
    if (img.width() == '320' && img.height() == '50' || img.width() == '300' && img.height() == '50') {
      img.addClass('top');
    }
    if (img.width() == '728' && img.height() == '90' || img.width() == '468' && img.height() == '60') {
      img.addClass('tops');
    }
    if (img.width() == '300' && img.height() == '250') // 300 x 250
    {
      img.addClass('mid');
    }
    if (img.width() == '120' && img.height() == '600' || img.width() == '160' && img.height() == '600') // 120 x 600
    {
      img.addClass('right');
    }
  });

});

所有其他图片尺寸都有效,但这些?不知道为什么。语法似乎是正确的,但我觉得它是if语句的标记?

小提琴: http://jsfiddle.net/r2wLz6xr/11/

2 个答案:

答案 0 :(得分:0)

我认为这是因为身高和高度宽度已由转盘修改以适合该区域。

'611' '76'代替'728' '90'

看看这个:http://jsfiddle.net/r2wLz6xr/12/

答案 1 :(得分:0)

主要问题是容器的宽度。图像的宽度超过容器的宽度。因此,图片无法获得总宽度,img.width()的返回值小于该图片的720