配列を反復処理して、それぞれをフェードインしてからアウトしたいと思います。しかし、その配列内のインデックスに独自の配列が含まれている必要がある場合は、外側の配列を停止してください。次に、その内部配列をアニメーション化します。その後、続行します。
今はあらゆる種類のスパゲッティであることはわかっていますが、if ステートメントで別の関数を呼び出す関数に変える予定です。しかし、今、私はそれを適切に停止させる方法についてちょっと混乱しています.
$(document).ready(function() {
// start
var elements = $('.switch');
elements.each(function(index) {
var element = $(this);
setTimeout(function() {
element.fadeIn(1000, function() {
if(element.has('.section')){
var innerEls = $('.section');
innerEls.each(function(i) {
// stuff
var inner = $(this);
setTimeout(function() {
element.stop();
inner.fadeIn(1000).delay(2000).fadeOut(1000);
}, 4000 * i);
});
}
}).delay(1000).fadeOut(1000);
}, 2000 * index);
});
});
<div class="switch">This is <div> number 1</div>
<div class="switch">This is <div> number 2</div>
<div class="switch">This is <div> number 3
<div class="section">this</div>
<div class="section">needs to</div>
<div class="section">show</div>
</div>
<div class="switch">This is <div> number 4</div>
<div class="switch">This is <div> number 5</div>