Что означает функция (i) в этом коде jQuery? - PullRequest
0 голосов
/ 02 сентября 2011

Это пример кода из книги jQuery, который вращается по изображениям.Я понимаю большую часть этого, за исключением части, которая говорит функцию (я).Какое значение передается (i) в качестве аргумента, и когда (i) вычитается в numberOfPhotos, какое именно значение вычитается?

$(document).ready(function(){
  rotatePics(1);
});

function rotatePics(currentPhoto) {
  var numberOfPhotos = $('#photos img').length; 
  currentPhoto = currentPhoto % numberOfPhotos;

  $('#photos img').eq(currentPhoto).fadeOut(function() { 

    $('#photos img').each(function(i) {
      $(this).css(
        'zIndex', ((numberOfPhotos - i) + currentPhoto) % numberOfPhotos
      );
    });
    $(this).show();
    setTimeout(function() {rotatePics(++currentPhoto);}, 4000);
  });
}

Ответы [ 3 ]

5 голосов
/ 02 сентября 2011

Функция .each вызывает передаваемую вами функцию (function(i) {... здесь) и передает в эту функцию две переменные по очереди:

  • первым является индекс
  • второе значение

Итак, i здесь индекс, так как это первый аргумент.Чем выше i, тем ниже zIndex (это то, к чему сводится формула).В результате изображения будут отображаться от последнего на заднем плане до первого на переднем плане, поскольку более высокое значение zIndex означает, что элемент будет отображаться перед элементом с меньшим значением zIndex.

Итак, чем выше i, тем ниже zIndex, тем больше он будет отталкиваться от фона.

3 голосов
/ 02 сентября 2011

'i' - индекс в массиве текущего элемента.

Из jQuery «каждый» документы -

обратный вызов (indexInArray, valueOfElement) Функция, которая будет выполняется на каждом объекте.

При вызове «каждый» вы не могли пройти мимо арументов -

$('#photos img').each(function()

Но если вы решите передать аргументы -

$('#photos img').each(function(index,val)

затем jQuery заполнит значение каждого аргумента соответствующими значениями для каждого вызова функции в цикле «каждый».

0 голосов
/ 02 сентября 2011

Это индекс списка предметов, по которым вы проходите.я очень распространенное имя переменной для этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...