jquery を使用してムービーを作成しました。映画の各シーンを表す複数の関数で構成されています。一部のシーンは、他のシーンよりも長く実行する必要があります。ムービー全体のループを作成するのに問題があります。setInterval をいくつかの方法で設定しようとしましたが、すべて失敗しているようです。事態を複雑にするために (少なくとも私にとっては)、これは理想的には完了時に「次へ」ボタンをトリガーするスライド ショー内にあります。
私が使用した戦略を自由にノックしてください。各シーンの setTimeout は、次の関数が十分に長く実行された後に各関数を実行する方法を理解できる唯一の方法でした。前の関数が完了した後に次の関数を呼び出すという現在の戦略に対して、シーンを実行する必要がある時間で各関数を呼び出す方法を理解できませんでした。
方向性をありがとう
合計時間を計算し、値を指定して setTimeout で atrAnime() を呼び出すには JavaScript が必要だと思いますが、計算して戻すことができないようです。
ここに私が持っているものがあります:
$(document).ready(function(){
atrAnime(2000);
});
function atrAnime(dur){
first();
setTimeout(second, dur);
setTimeout(third, dur += 2000);
setTimeout(forth, dur += 2000);
setTimeout(fifth, dur += 2000);
setTimeout(sixth, dur += 6000);
setTimeout(seventh, dur += 2000);
setTimeout(eighth, dur += 2000);
setTimeout(ninth, dur += 2000);
setTimeout(tenth, dur += 2000);
setTimeout(end, dur += 3000);
};
いくつかのシーンの例:
function first(dur){
$('.pcba')
.css({
left: '150px'
})
.show();
$('.pcb_cad')
.css({
left: '275px',
top: '50px'
})
.show();
}
function second(dur){
$('.pcba').fadeOut();
$('.arrows')
.css({
left: '275px',
top: '50px'
})
.fadeIn();
$('.heatGenComps')
.css({
left: '325px',
top: '20px'
})
.fadeIn();
}
編集 私の新しいゲットーソリューションには、 atrAnime() 呼び出しの最後の関数が次のように含まれています。
setTimeout(caller, dur += 2000);
};
そして別の機能
function caller(){
atrAnime(2000);
}