-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 に答える