現在トップに画像をバラバラに表示させて全ての表示が終わったらfadeOutするようにしているのですが、
fadeOutの処理が終わった後にまた別の要素(.クラス名)を順番に表示させる方法が分かる方はいらっしゃいますでしょうか?
今回は.topがfadeOutした後に.contentsをfadeInさせるといったような事が出来るといいのですが。
そして次は.contentsがfadeOutしたあとにまた新たな要素を表示させるという風に出来れば一番ありがたいです。
HTML
1 2<div class="top"> 3 <li><img src="1.jpg"></li> 4 <li><img src="2.jpg"></li> 5 <li><img src="3.jpg"></li> 6</div> 7 8 9<div class="contents"></div> 10 11<div class="contents2"></div> 12
jQuery
1 2var element = $('.top li img'); 3element.css({'opacity': '0'}); 4 5$(window).on('load', function() { 6 7 randomShow(); 8 function randomShow() { 9 10 var elmLength = element.length, 11 randSet = Math.floor(Math.random() * elmLength); 12 13 $(element[randSet]).animate({'opacity': '1'}, 1400); 14 element.splice(randSet, 1); 15 16 if ( elmLength > 0 ) { 17 setTimeout(function() {randomShow();}, 400); 18 19 $(this).fadeOut(2000); 20 21 } else { 22 23 setTimeout(function() { 24 $('.top').fadeOut(2000); 25 }, 1000); 26 } 27} 28}); 29 30.contentsに関してはどこに書けばいいのかが分からなかった為、まだ書いていません。 31
3/8追記:ご回答いただいた方々へ。大変感謝しております。
まだ解決には至ってはいないのですが、今の自分のJavaScriptの理解度だとまだ何も出来ないしせっかくいただいたコードを読む事も出来ないと感じました。
これからもっと勉強をして再度質問が出来たらと思います。
本当にありがとうございます。お手数をおかけして大変申し訳ございませんでした。