0

div を回転させるための単純な関数を作成しました。これには setTimeOut を使用し、この関数はスクリプトに同じ繰り返しの時間を伝え、次のステップに進みます。私の場合の問題は、各トランジションでエフェクトを使用し、関数へのコールバックが必要なことです。効果終了時に発生

私の機能:

<script>
function repiter(id)
{

$(".sd_"+id).show(2000).hide(1000);

var npics=4;
var ret=(id+1);


if (ret>=npics)
{
var ret=0;  
}

setTimeout(function(){repiter(ret);},2000)  

}
</script>


<div class="sd_0" style="display:none;">Tester 1</div>
<div class="sd_1" style="display:none;">Tester 2</div>
<div class="sd_2" style="display:none;">Tester 3</div>
<div class="sd_3" style="display:none;">Tester 4</div>

<script>
repiter(0);
</script>

ここでわかるように、関数は 4 つの div とコンテンツを回転させ、最後に移動すると最初とすべての時間を繰り返しますが、いずれの場合も、各 div の効果は 4 または 5 秒で、アニメーションの途中でdiv setTimeout 他の時間関数を呼び出し、それぞれの場合に効果を壊します。この私の質問により、setTimeout の jquery にはいくつかのメソッドが存在します。

ありがとう

4

2 に答える 2

0

試す

<script> 
    function repiter(id) {

    $(".sd_"+id).show(2000, function(){
    $(".sd_"+id).hide(1000, function(){

    var npics=4; var ret=(id+1);

    if(ret>=npics) { var ret=0; }

setTimeout(function(){repiter(ret);},2000)
})
})


} </script>
于 2013-10-20T14:40:01.643 に答える