4枚の画像を3秒ごとに順番に表示・非表示させ、1周したら繰り返す。としたいのですが、うまくいきません。
1周までは動くのですが、繰り返し工程に入ってくれません。
for文で実装したいのですが効かず、原因がわかりませんでした。
html
1<div id="img1"> 2<div> 3 <p><img src="1.png"></p> 4</div> 5</div> 6 7<div id="img2"> 8<div> 9 <p><img src="2.png"></p> 10</div> 11</div> 12 13<div id="img3"> 14<div> 15 <p><img src="3.png"></p> 16</div> 17</div> 18 19<div id="img4"> 20<div> 21 <p><img src="4.png"></p> 22</div> 23</div>
css
1#img1 div, #img2 div, #img3 div, #img4 div { 2 position: absolute; 3 top:0; 4 opacity: 0; 5 transition: 2.5s; 6 left:50%; 7} 8 9#img1 div.showUp, #img2 div.showUp, #img3 div.showUp, #img4 div.showUp { 10 opacity: 1; 11 margin-top: 0; 12 transform: translateX(-20px) translateY(20px); 13} 14 15#img1 div.showDown, #img2 div.showDown, #img3 div.showDown, #img4 div.showDown { 16 opacity: 0; 17 margin-top: 0; 18 transform: translateX(-40px) translateY(40px); 19}
jquery
1$(function() { 2 for (var i = 0; i <=10; i++) { 3 4 var time = 3000; 5 6 $('#img1 div').addClass('showUp'); 7 8 setInterval(function() { 9 $('#img1 div').addClass('showDown'); 10 },time); 11 12 setInterval(function() { 13 $('#img2 div').addClass('showUp'); 14 },time+3000); 15 16 setInterval(function() { 17 $('#img2 div').addClass('showDown'); 18 },time+6000); 19 20 setInterval(function() { 21 $('#img3 div').addClass('showUp'); 22 },time+9000); 23 24 setInterval(function() { 25 $('#img3 div').addClass('showDown'); 26 },time+12000); 27 28 setInterval(function() { 29 $('#img4 div').addClass('showUp'); 30 },time+15000); 31 32 setInterval(function() { 33 $('#img4 div').addClass('showDown'); 34 },time+18000); 35 36 var time = 0; 37 } 38});
回答1件
あなたの回答
tips
プレビュー