0

JQuery を使用して単純な画像スライダーを実装しようとしています。これが私のコードです:

<p id="Photos">
        <img alt="Image-1" src="../../Images/Image1.png" />
        <img alt="Image-2" src="../../Images/Image-2.png" />
        <img alt="Image-3" src="../../Images/Image-3.png" />
    </p>

<script type="text/javascript">
    $(document).ready(function () {
        SlideImage(1);
    });

    function SlideImage(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 () { SlideImage(++currentPhoto); }, 3000);
        });
    }
    </script>

まず、スライダーが機能せず、単一の画像が常に表示されます。これを修正するための提案は高く評価されますが、さらに重要なことに、コードで使用される変数「i」の意味を理解する必要があります。どこからその値を取得し、その目的は何ですか?

前もって感謝します。

4

1 に答える 1

0

i は、「each」を呼び出しているオブジェクトのコレクション内の現在の位置のインデックスです。jQuery APIは、そのような詳細を説明するのにかなり適しています。

この場合、呼び出す代わりにコレクション自体が空になると思います

$('Photos img').eq(currentPhoto).fadeOut(function () {

私はあなたが使いたいと信じています

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

ID値でアイテムをアドレス指定しようとしているため

于 2012-09-20T11:19:24.103 に答える