わかり.delay()
ました。1つのアニメーションの開始を使用して前のアニメーションの正確な完了にリンクせずに(タイマーとアニメーションの同期に依存せずに)、この繰り返しシーケンスでアニメーションを実装します。
- ゼウスは見える、ゼウスは見えない
- 5秒間一時停止
- フェードアウトゼウス
- フェードインゼウス
- フェードアウトゼウス
- フェードインゼウス
- 繰り返す
あなたはこのようにそれを行うことができます:
$(document).ready(function() {
var z1 = $('#zeus');
var z2 = $('#zeuss').hide();
function cycle() {
setTimeout(function() {
z1.fadeOut(1000, function() {
z2.fadeIn(1000).fadeOut(1000, function() {
z1.fadeIn(1000, cycle)
});
});
}, 5000);
}
cycle();
});
最初のサイクルの前に5秒間だけ休止し、次のサイクルでは休止したくない場合(あなたの質問では完全に明確ではなかったもの)、次のようになります。
$(document).ready(function() {
var z1 = $('#zeus');
var z2 = $('#zeuss').hide();
function cycle() {
z1.fadeOut(1000, function() {
z2.fadeIn(1000).fadeOut(1000, function() {
z1.fadeIn(1000, cycle)
});
});
}
// start the fadeIn/fadeOut cycling after 5 seconds
setTimeout(cycle, 5000);
});
参考までに、名前の選択zeus
はzeuss
ひどく混乱しています。それらを混乱させるのは非常に簡単で、コードを間違えるのは非常に簡単です。
を使用できるより新しいバージョンのjQueryを使用する.delay()
場合は、少し簡単になります。
$(document).ready(function() {
var z1 = $('#zeus');
var z2 = $('#zeuss').hide();
function cycle() {
z1.delay(5000).fadeOut(1000, function() {
z2.fadeIn(1000).fadeOut(1000, function() {
z1.fadeIn(1000, cycle)
});
});
}
cycle();
});