お世話におります。jQuery初心者です。
前日にスライドショーをteratailで教えていただきました。
スライドが紙芝居式になっていて、スライドが表示されてる時間までバーが伸び、スライドされると
スライドに合わせてバーが縮む仕組みを作りましたが、どうしてもスライドとバーのdurationにズレが
生じてしまいます。
なぜズレが生じてしまうのでしょうか。また、このズレを解消する方法があれば、ご教授の方よろしくお願いします。
html
<div class="slider"> <div id="rect"> </div> <ul class="slider_road"> <li class="slide"><img src="1.png" class="img1"></li> <li class="slide"><img src="2.png" class="img2"></li> <li class="slide"><img src="3.png" class="img3"></li> </ul> </div>
css
.slider { max-width: 640px; width: 96%; margin: 15px 2%; height: 500px; clear:both; overflow: hidden; position: relative; background-color: #C9E6FD; } #rect { position: absolute; top: 15px; left: 0; background: #87d3ff; width:0px; height: 3px; text-align: center; color: #fff; z-index: 3; } slider_road { position: relative; height: auto; top:30px; margin: 0; padding: 0; list-style: none; } .slide { list-style: none; width: 100%; height:auto; top: 30px; left: 0; float: left; position: absolute; }
js
$(function () { setTimeout('rect()'); //アニメーションを実行 }); function rect() { $("#rect").animate({width: '100%'},3000).animate({width:'0%'},{ duration:1000}); setTimeout("rect()"); } $(function(){ setInterval(function() { var slide = $('.slide'); slide.first().stop().animate({marginLeft:0}); slide.last().stop().animate({marginLeft:'-100%'},1000,function(){slide.last().prependTo(slide.parent())}); }, 3000); //setInterval() });
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/03/13 11:47
2016/03/13 12:14
2016/03/13 12:21
2016/03/13 13:07
2016/03/13 13:44
2016/03/13 13:48
2016/03/13 18:34