最后的图像完成淡入淡出

时间:2016-03-31 15:04:12

标签: javascript jquery

var J_lis = $("#Jerseybox ul li img");
var count_jersey = 0
J_lis.hide();
J_lis.each(function(g) {
    $(this).delay((g + 1) * 360).fadeIn();
    count_jersey++;
});

我正在使用$ .each使用此代码逐个淡出图像,但无论如何我还能知道最后一张图片fadeIn?

我的意图是让这些图像一个接一个地淡出,当最后一个图像完成时,我会删除一些东西。

我如何查看最后一张图片fadeIn?

2 个答案:

答案 0 :(得分:1)

如果你想在你的每一个之后立即运行代码,你需要这样做:

我们检查你循环的数组的长度,如果它与数组的长度相同,你就到了最后!

现在也不需要使用count_jersey。

var J_lis = $("#Jerseybox ul li img");
J_lis.hide();
J_lis.each(function(g) {
    $(this).delay((g + 1) * 360).fadeIn();
    if (g === J_lis.length - 1 ) {
     // here you have your last image!
    }
});

答案 1 :(得分:-1)

您可以执行以下操作:

var J_lis = $("#Jerseybox ul li img");
var count_jersey = 0
J_lis.hide();
J_lis.each(function(g) {
 //after fadeIn, increase counter
 //and check for g == J_lis.length
 $(this).delay((g + 1) * 360).fadeIn('fast', function(){
  counter_jersey++;
  //if last image is finished
  if(g == J_lis.length){
    //do something
  }
 });
});

我不知道你为什么需要counter_jersey,但我还是把它包括在内。