-1

这是一个交叉淡入淡出幻灯片放映。我不明白这在下面的代码中做了什么: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);
  });
}
4

2 回答 2

1

“1”只是起始位置。

rotatePics(++currentPhoto); <-- 这会增加位置并调用自身。

于 2012-04-23T19:10:48.760 回答
0

rotatePics(1);-> 只是一个开始。它只是说它应该从图像 1 开始。

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

 setTimeout(function() {          //-> set Timer
      rotatePics(++currentPhoto); //-> recursion call
 }, 4000);                        //-> 4 seconds wait time 
于 2012-04-23T19:09:13.033 回答