我正在尝试理解这个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.
感谢各位帮助!
答案 0 :(得分:7)
i是jquery集合中当前元素的索引位置
答案 1 :(得分:5)
The definition可能会有所帮助。
答案 2 :(得分:4)
每个()函数都记录在这里http://api.jquery.com/each/
通过使用jquery选择器,您将拥有一个对象列表,我将成为dom创建顺序中这些元素的索引。
答案 3 :(得分:3)
'i'应代表循环中的索引。