###実現したいこと
下記ソースコードで、.box1 から順番にフェードアウトさせたいです。
1 → 2 → 3 → 4 → 5 → 6 → 7
###発生している問題
ですが、次のようにフェードアウトが実行されてしまいます。
2,5→ 1,3,6 → 4,7
###該当のソースコード
下記がソースコードです。
html
1<button type="button">fadeOut</button> 2 3<div class="wrapper"> 4 5 <div class="box0"> 6 <p>.box0</p> 7 </div> 8 9 <div class="box1 target"> 10 <p>.box1</p> 11 </div> 12 13 <nav> 14 <ul> 15 <li class="box2 target"> 16 <p>.box2</p> 17 </li> 18 <li class="box3 target"> 19 <p>.box3</p> 20 </li> 21 <li class="box4 target"> 22 <p>.box4</p> 23 </li> 24 </ul> 25 </nav> 26 27 <div> 28 <div class="box5 target"> 29 <p>.box5</p> 30 </div> 31 <div class="box6 target"> 32 <p>.box6</p> 33 </div> 34 </div> 35 36 <div class="box7 target"> 37 <p>.box7</p> 38 </div> 39 40</div>
css
1/* 順番に */ 2.wrapper .target:nth-of-type(1) { 3 animation-delay: 0s; 4} 5.wrapper .target:nth-of-type(2) { 6 animation-delay: 1s; 7} 8.wrapper .target:nth-of-type(3) { 9 animation-delay: 2s; 10} 11.wrapper .target:nth-of-type(4) { 12 animation-delay: 3s; 13} 14.wrapper .target:nth-of-type(5) { 15 animation-delay: 4s; 16} 17.wrapper .target:nth-of-type(6) { 18 animation-delay: 5s; 19} 20.wrapper .target:nth-of-type(7) { 21 animation-delay: 6s; 22} 23.wrapper .target:nth-of-type(8) { 24 animation-delay: 7s; 25} 26.wrapper .target:nth-of-type(9) { 27 animation-delay: 8s; 28} 29 30/* フェードアウト */ 31@-webkit-keyframes fadeOut { 32 from { 33 opacity: 1; 34 } 35 to { 36 opacity: 0; 37 } 38} 39@keyframes fadeOut { 40 from { 41 opacity: 1; 42 } 43 to { 44 opacity: 0; 45 } 46} 47.fadeOut { 48 animation-duration: 1s; 49 -webkit-animation-name: fadeOut; 50 animation-name: fadeOut; 51} 52
js
1$( 'button' ).click( function(){ 2 $( '.wrapper .target' ).addClass( 'fadeOut' ); 3});
###試したこと
現状はCSSのdelayで順番を適用させていますが、それを止めてjQueryのsetTimeOut()を使ってクラス付与をすればできたので、たぶん原因はdelayが実行される順番を指定しているnth-of-type()にあるのではと考えています。
ではsetTimeout() でいいじゃないかと言われてしまいそうですが、なんとなく「nth-of-type()を正しく使えばCSSだけで実現できるのではないか?」と思い、質問を投稿させて頂きました。
可能でしたらCSSで実現したいです。
ご協力どうぞ宜しくお願い申し上げます。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/12/07 18:16
2019/12/07 18:42
2019/12/07 18:48
2019/12/07 18:51