每秒 div 动画以在 JQuery 中使用 for-each 循环增长到不同的大小

Animate every second div to grow to a different size with a for-each loop in JQuery

我有一个 table 的 div 行,每个 table 行有两个 div 具有不同的背景颜色,例如。第一行有红色 div 和黄色 div,第二行也有红色 div 和黄色 div.

我每个循环都有一个jquery来循环来自控制器的数据,它被放入divs,然后将特定的动画分配给div循环,特别是确定 div 的宽度将像条形图一样增长的数据。

我遇到的问题是循环将特定动画应用于所有以前的 div,而不仅仅是我们正在循环的新 div。

用例:

这是我正在使用的代码:

var dd = myDataArray;

$.each(dd, function (i, val) {

items = '<tr>' +
'<td width="10%">' + val.year + '</td>' +
'<td height="60">' +
'<div style="background:#ff6b01; width:0%;" class="container">' + val.minSize +
'</div>'
<br />
'<div style="background:#fcc899; width:0%;" class="container">' + val.maxSize + '</div>'
'</td>' +
'</tr>';

 $('tbody').append(items);

 $(document).ready(function () {

      $("tbody div:last-child").animate({ width: val.maxSize + '%' }, 9900);
 });

});

简而言之:是否可以以一种方式为第二个 div 设置动画,然后以另一种方式为新行中的第二个 div 设置动画。我试过使用 "tbody div:last-child last" 但它不起作用,而且可能无效。

任何煽动将不胜感激。

知道了:

var dd = myDataArray;

$.each(dd, function (i, val) {

 items = '<tr>' +
 '<td width="10%">' + val.year + '</td>' +
 '<td height="60">' +
 '<div style="background:#ff6b01; width:0%;" class="container">' + val.minSize +
 '</div>'
  <br />
  '<div style="background:#fcc899; width:0%;" class="container">' + val.maxSize + '</div>'
  '</td>' +
  '</tr>';

  $('tbody').append(items);

  $("tbody div:last").animate({ width: val.maxSize + '%' }, 9900);

});

不要让第二个 div 动画在页面加载时发生,并使用 last 而不是 last-child。