参数中的这个常数是做什么的?

时间:2012-04-23 19:06:33

标签: jquery

这是一个交叉淡入淡出的幻灯片。我不明白这在下面的代码中是做什么的:rotatePics(1);

HTML

<div id="photos">
  <img alt="Glendatronix" src="../../images/glenda_200.jpg" />
  <img alt="Darth Fader" src="../../images/fader_200.jpg" />
  <img alt="Beau Dandy" src="../../images/beau_200.jpg" />
  <img alt="Johnny Stardust" src="../../images/johnny_200.jpg" />
  <img alt="Mo' Fat" src="../../images/mofat_200.jpg" />
</div>

JS

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

function rotatePics(currentPhoto) {
  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);
  });
}

2 个答案:

答案 0 :(得分:1)

“1”只是起始位置。

rotatePics(++currentPhoto); &lt; - 这会增加位置并自行调用。

答案 1 :(得分:0)

rotatePics(1); - &gt;只是一个启动者。它只是说应该从图像1开始。

旋转逻辑是setTimeout(function() {rotatePics(++currentPhoto);}, 4000);,每4秒旋转一次。

 setTimeout(function() {          //-> set Timer
      rotatePics(++currentPhoto); //-> recursion call
 }, 4000);                        //-> 4 seconds wait time