同時にスライドショーを動かしている段階で、次はそれをそれぞれ時間差に動かして回転しているかのように見せたいのですが、どうしたらよろしいでしょうか。考え方を教えていただければと思います。
HTML
<div class="slideBox"> <ul class="slideCommon left"> <li class="item"> スライド1 </li> <li class="item"> スライド2 </li> <li class="item"> スライド3 </li> </ul> <ul class="slideCommon center"> <li class="item"> スライド1 </li> <li class="item"> スライド2 </li> <li class="item"> スライド3 </li> </ul> <ul class="slideCommon right"> <li class="item"> スライド1 </li> <li class="item"> スライド2 </li> <li class="item"> スライド3 </li> </ul> </div>
css
* { padding: 0; margin: 0; } li { list-style: none; } .slideCommon { position: relative; } .item { position: absolute; top: 50px; opacity: 0; transition: 1s; } .item.show { opacity: 1; } .left .item { background-color: red; width: 700px; height:350px; left: 500px; } .center .item { background-color: orange; width: 900px; height:400px; top: 0; left: 50%; margin-left: -450px; z-index: 3; } .right .item { background-color: blue; width: 700px; height:350px; right: 500px; }
jQuery
$( function() { $( ".slideCommon" ).each( function() { var slideImg = $( this ).find( ".item" ); var num = slideImg.length; var current = 0; slideImg.eq( current ).addClass( "show" ); setInterval( function() { slideImg.eq( current ).removeClass( "show" ); current++; if ( current >= num ) { current = 0; } slideImg.eq( current ).addClass( "show" ); }, 2000 ); } ); } );
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/06/20 03:27