如何在UL标签内的.each()函数内循环

时间:2019-02-25 19:29:04

标签: javascript jquery html css

我正在尝试使其变得动态。所以我有9张图片,我想将width(px)更改为10px,当到达第五张图片时,它应该减小为原始尺寸10px。到目前为止,我必须一直增加。

$( ".org-collections li img" ).each(function( index ) {
  var index = index+"9";
  var calc = 150+parseInt(index);

  if(calc == 199){

  } 
  $(this).css("max-width",calc+"px");
});

这里是demo

示例: enter image description here

1 个答案:

答案 0 :(得分:2)

这基本上是您想要进行的计算。我一直在JSFiddle中玩游戏,以获取所涉及常量的“最佳外观”值,可以随时对其进行更改以适合:

(请注意,如果您将最大值设置得更高,则此处的最大值不能很好地发挥作用-我认为这与图像的固有尺寸有关,似乎不大想要变得比特定值高。)

$( ".org-collections li img" ).each(function( index ) {
  var calc = 150 - 9*Math.abs(4 - index);
  $(this).css("max-width",calc+"px");
});

此外,值4起作用是因为它是中间值,假设您正好有9张图像(如此处所示)。如果您可能有一个可变数字n,那么只要它是奇数,就可以用(n - 1) / 2

代替4。