Jqueryを使って、違う文章を順番に3回表示させ、4番目の文章だけずっと表示させたいです。
現状
fadein、fadeoutを使って、文章を順番に表示させることはできています。
ですが最後の文章も同じ設定にしているので、1~3の文章と同じく消えてしまい、挙動がくり返されてしまいます。
やりたいこと
最後の文章だけをずっと表示させたい。
挙動を繰り返さず、一回繰り返したら終わりにしたい。
listの最後だけを別で設定する書き方などありませんでしょうか?
行き詰まってしまっているので、ご教示いただけると幸いです。
HTML
1<div class="message-box"> 2 <ul class="message"> 3 <li class="text"> 4 <p>タイトル1</p><br> 5 <span>文章</span> 6 </li> 7 <li class="text"> 8 <p>タイトル2</p><br> 9 <span>文章</span> 10 </li> 11 <li class="text"> 12 <p>タイトル3</p><br> 13 <span>文章</span> 14 </li> 15 <li class="text child-text"> 16 <p>ずっと表示させたい文章</p> 17 </li> 18 </ul> 19</div>
java
1const txts = $('.text'); 2let txtIndex = -1; 3txts.hide() 4 5function showNextTxt() { 6 txtIndex++; 7 txts.eq(txtIndex % txts.length).fadeIn(2000).delay(3000).fadeOut(2000, showNextTxt); 8} 9showNextTxt(); 10 11
css
1body { 2 background-color: rgb(0, 0, 0); 3 font-family: "serif"; 4} 5 6.message-box { 7 background-color: rgb(0, 0, 0); 8 min-height: 100vh; 9 width: 100%; 10 position: relative; 11} 12 13.message { 14 margin: 0; 15 position: absolute; 16 top: calc(45% - 0.5em); 17 width: 100%; 18 text-align: center; 19 padding-left: 0; 20 .text { 21 color: #fff; 22 list-style: none; 23 p { 24 font-family: "manifesto"; 25 margin: 0px; 26 font-size: 30px; 27 font-weight: bold; 28 } 29 } 30}
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。