1

私はhttp://kaidez.com/javascript-for-loop-creates-jquery-fade/でチュートリアルをフォローしていて、別のユーザーがループを連続させることについて投稿したことを調べていました。

シーケンスを継続的にループさせようとしましたが、何らかの理由で 1.5 ループで機能し、アイテムが誤ったシーケンスでフェードインおよびフェードアウトし始める理由がわかりません。最初のループで正しくフェードし、2 番目のループの 4 番目のアイテムが遅れてフェードインし、その後はすべてがオフになります。

JQuery

(function($){

     var yourFade = 1, // the amount of time in seconds that the elements will fade in AND fade out
     yourDelay = 2, // the amount of time in seconds that there will be a delay between the fade ins and fade outs
     fadeTime = yourFade * 1000, //convert fade seconds to milliseconds (1000)
     delayTime = yourDelay * 1000, // convert delay seconds to milliseconds (2000)
     totalTime = fadeTime + delayTime, //3000 milliseconds...needed for all those delays we talked about
     allElems, // find out exactly how many page elements have the 'toBeFaded' class (4)
     elemNoFade, // Will help us find the last element represent the last element (3)
     i,
     fadingElem;
     allElems = $('.toBeFaded').length

    function fadeit(){
        for (i = 0, allElems = $('.toBeFaded').length, elemNoFade = allElems - 1; i < allElems; i+=1) {

            fadingElem = "#elem" + i;           

            $(fadingElem).delay(totalTime * i).fadeIn(fadeTime).delay(delayTime).fadeOut(fadeTime);
        }
    }
    fadeit();
    setInterval(fadeit,totalTime*allElems);


    })(jQuery); 

CSS

.toBeFaded {
display: none;
position:absolute;
font-size:70px;
color:white;
}

HTML

<div id="elem0" class="toBeFaded">Message 1</div>
<div id="elem1" class="toBeFaded">Message 2</div>
<div id="elem2" class="toBeFaded">Message 3</div>
<div id="elem3" class="toBeFaded">Message 4</div>

助けてくれてありがとう!私は運が悪いので、何時間もこれを理解しようとしています。

4

0 に答える 0