jQuery:我不明白“我”是什么。每个(函数(i)

时间:2011-04-07 21:29:18

标签: jquery

我正在尝试理解这个jquery代码,我理解所有这些:模数,循环等,除了“i”在.each中的含义(函数(i)。我试过搜索但是这段代码没有返回好的搜索结果。它是否代表每个img的id为#photos?如果不是和变量currentPhoto相同。任何帮助理解这个或有用信息的链接将不胜感激。

function rotatePics(currentPhoto) {  //number is index of current photo
  var numberOfPhotos = $('#photos img').length;
  currentPhoto = currentPhoto % numberOfPhotos;

  $('#photos img').eq(currentPhoto).fadeOut(function() {
    // re-order the z-index
$('#photos img').each(function(i) {
  $(this).css(
    'zIndex', ((numberOfPhotos - i) + currentPhoto) % numberOfPhotos
  );
});
$(this).show();
setTimeout(function() {rotatePics(++currentPhoto);}, 4000);
  });
}

提前致谢!

编辑: 如果有人经历jquery:新手到忍者书有同样的疑虑: (i)基于0并且currentPhoto是基于1的,所以例如第一个img元素看起来像这样(假设总共有6张照片):

((6        -       0) +      1        %     6
((numberOfPhotos - i) + currentPhoto) % numberOfPhotos 

始终添加1可确保余数始终为1,从而确保z-index始终为1.

感谢各位帮助!

4 个答案:

答案 0 :(得分:7)

i是jquery集合中当前元素的索引位置

答案 1 :(得分:5)

The definition可能会有所帮助。

答案 2 :(得分:4)

每个()函数都记录在这里http://api.jquery.com/each/

通过使用jquery选择器,您将拥有一个对象列表,我将成为dom创建顺序中这些元素的索引。

答案 3 :(得分:3)

'i'应代表循环中的索引。