2

jquery に .each ループがあり、イメージをフェードアウトしてバックグラウンドで表示します。後続のすべての画像には、増加した遅延が割り当てられます。クリックしてそのようなループを一時停止することは可能ですか?

 <?php
    $ttlart = count($rows);
    echo "var ttlart = " . $ttlart . ";";
    foreach ($rows as $ro) {
        $fadedur = $ro['fadedur'];
            echo "fadedur = " . $fadedur . ";";
            $staysonscreen = $ro['staysonscreen'];
            echo "staysonscreen= " . $staysonscreen . ";";
        $order = $ro['order'];
            echo "order= " . $order. ";";
            echo "$(\"#" . $order . "\").css(\"font-size\",fadedur);";
            echo "$(\"#" . $order . "\").css(\"text-indent\",staysonscreen);";     
            //echo "alert(\"here\");";
    }
    ?>

    var artdelay = 0;
    var playstop = 0;
    var ctr = 1;    

    $($("#images img").get().reverse()).each(function(){
       fadedur = parseInt($(this).css("font-size"));
       staysonscreen = parseInt($(this).css("text-indent"));
       artdelay = artdelay+staysonscreen;

       if (ctr < ttlart){
       $(this).delay(artdelay).fadeOut(fadedur); 
        artdelay = artdelay+fadedur;

      $(".jp-controls").click(function(){

       if(playstop == 0){
       $("#images img").stop(true);
       playstop = 1;
       }else{ //alert(artdelay);
       $("#images img").delay(artdelay).fadeOut(fadedur);
       playstop = 0;}

       });

       ctr=ctr+1;}
    });
4

2 に答える 2

0

あなたの質問を正しく理解しているかどうかはわかりませんが、次のようなことを試してください。

$.each($).wait(1000, function(index) {
    // Sets a 1 second delay between iterations
});
于 2013-07-16T15:57:16.960 に答える