jQuery初心者です。
自作スライドショーを作っていますが、行き詰まってしまいました。
わかる方がいましたら、ご教授の方よろしくお願いします。
私が作りたいスライドショーは紙芝居の様に、一枚目がスライドされた時に
2枚目が1枚目の下にある状態です。
そこで、行き詰まっている部分は、1枚目が3枚目の下に行く方法です。
最初はcssの方で初期値z-indexで重ね順を指定してたのですが
この方法だと、一回目のループすらできず、どんどんとz-indexの
値を変えていかないといけません。
紙芝居の用にスライドループするにはどの様に作ればよいでしょうか?
また、綺麗な書き方もあればご教授の方よろしくお願いします。
よろしくお願いします。
html
<ul class="slider_road"> <li class="slide"><img src="1.png" class="img1"></li> <li class="slide2"><img src="2.png" class="img2"></li> <li class="slide3"><img src="3.png" class="img3"></li> </ul>
css
.slider_road { position: absolute; height: auto; margin: 0; padding: 0; list-style: none; } .slide { width: 320px; height: 300px; top: 0; left: 0; float: left; position: absolute; z-index: 3; } .slide2 { width: 320px; height: 300px; top: 0; left: 0; float: left; position: absolute; z-index: 2; } .slide3 { width: 320px; height: 300px; top: 0; left: 0; float: left; position: absolute; z-index: 1; }
jQuery
var flg=2; //「2枚目に切り替え」からスタートするため、flg に 2 をセット var slide = $('.slide'); $(function(){ setInterval(function() { switch(flg){ case 1: //1枚目に切り替え $(".img3").stop().animate({marginLeft:320}); $(".img2").stop().animate({marginLeft:0}); break; case 2: //2枚目に切り替え $(".img1").stop().animate({marginLeft:320}); $(".img3").stop().animate({marginLeft:0}); break; case 3: //3枚目に切り替え $(".img2").stop().animate({marginLeft:320}); $(".img1").stop().animate({marginLeft:0}); break; } flg++; if(flg>3){ flg=1; } }, 3000); //setInterval() });

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/03/12 11:30