下記のコードは文字列のみのスライドショーで手動でスライドさせています。
しかし、このスライドショーは、4つ目のスライドから5個目のスライドに移動させようとすると挙動がおかしくなります。
5個目に移動すると思ったら、まだ6個目があるのに1個目に戻り、そこから2個めにスライドさせると一瞬1個目が
表示されてから2個目、3個目が表示されてしまいます。
どうしたら6個目まで綺麗に表示させる事ができるでしょうか。
(※投稿の文字数制限があったので戻るボタンの部分のCSSは省略してあります。)
</div> </div> ``` <CSS> ```ここに言語を入力 /* スライダー用のinputは非表示 */ .slider-radio { display: none; }<input type="radio" id="slider-next1" class="slider-radio" name="slider"> <input type="radio" id="slider-next2" class="slider-radio" name="slider"> <input type="radio" id="slider-next3" class="slider-radio" name="slider"> <input type="radio" id="slider-next4" class="slider-radio" name="slider"> <input type="radio" id="slider-next5" class="slider-radio" name="slider"> <input type="radio" id="slider-next6" class="slider-radio" name="slider"> <div class="slider-view__controllers"> <div class="slider-view__controllers__icon-set"> <label for="slider-back1" class="slider-back"> < </label> <label for="slider-next1" class="slider-next"> > </label> </div> <div class="slider-view__controllers__icon-set"> <label for="slider-back2" class="slider-back"> < </label> <label for="slider-next2" class="slider-next"> > </label> </div> <div class="slider-view__controllers__icon-set"> <label for="slider-back3" class="slider-back"> < </label> <label for="slider-next3" class="slider-next"> > </label> </div> <div class="slider-view__controllers__icon-set"> <label for="slider-back4" class="slider-back"> < </label> <label for="slider-next4" class="slider-next"> > </label> </div> <div class="slider-view__controllers__icon-set"> <label for="slider-back5" class="slider-back"> < </label> <label for="slider-next5" class="slider-next"> > </label> </div> <div class="slider-view__controllers__icon-set"> <label for="slider-back6" class="slider-back"> < </label> <label for="slider-next6" class="slider-next"> > </label> </div> </div> <div class="slider-view__move"> <div class="slider__content__item_ slider-view__move_text"> <p>制作の流れ</p> </div> <div class="slider-view__move_text"> <h2>02.</h2> <p class="text_p1">TEST <B/p> <p class="text_p2">テストテストテストテストテストテストテストテストテストテスト</p> </div> <div class="slider-view__move_text"> <h2>03.</h2> <p class="text_p1">TEST C</p> <p class="text_p2">テストテストテストテストテストテストテストテストテストテスト</p> </div> <div class="slider-view__move_text"> <h2>04.</h2> <p class="text_p1">TEST D</p> <p class="text_p2">テストテストテストテストテストテストテストテストテストテスト</p> </div> <div class="slider-view__move_text"> <h2>05.</h2> <p class="text_p1">TEST E</p> <p class="text_p2">テストテストテストテストテストテストテストテストテストテスト</p> </div> <div class="slider-view__move_text"> <h2>06.</h2> <p class="text_p1">TEST F</p> <p class="text_p2">テストテストテストテストテストテストテストテストテストテスト</p> </div> </div> </div>
/* スライダー部分 */ .css3-slider { margin: 0 auto; width: 600px; } .slider-view { height:400px; overflow: hidden; position: relative; width: 100%; } .slider-view__move { position: absolute; } .slider-view__move_text { width: 600px; } .slider-view__move_text:nth-of-type(1) { left: 0; position: absolute; } .slider-view__move_text:nth-of-type(2) { left: 600px; position: absolute; } .slider-view__move_text:nth-of-type(3) { left: 1200px; position: absolute; } .slider-view__move_text:nth-of-type(4) { left: 1800px; position: absolute; } .slider-view__move_text:nth-of-type(5) { left: 2400px; position: absolute; } .slider-view__move_text:nth-of-type(6) { left: 3000px; position: absolute; } /* スライドショーの文字に設定するアニメーション */ #slider-next1:checked ~ .slider-view__move { -webkit-animation: slider-next1-animation 1s linear 1 normal 0s both ; animation: slider-next1-animation 1s linear 1 normal 0s both ; } #slider-next2:checked ~ .slider-view__move { -webkit-animation: slider-next2-animation 1s linear 1 normal 0s both ; animation: slider-next2-animation 1s linear 1 normal 0s both ; } #slider-next3:checked ~ .slider-view__move { -webkit-animation: slider-next3-animation 1s linear 1 normal 0s both ; animation: slider-next3-animation 1s linear 1 normal 0s both ; } #slider-next4:checked ~ .slider-view__move { -webkit-animation: slider-next4-animation 1s linear 1 normal 0s both ; animation: slider-next4-animation 1s linear 1 normal 0s both ; } #slider-next5:checked ~ .slider-view__move { -webkit-animation: slider-next5-animation 1s linear 1 normal 0s both ; animation: slider-next5-animation 1s linear 1 normal 0s both ; } #slider-next6:checked ~ .slider-view__move { -webkit-animation: slider-next6-animation 1s linear 1 normal 0s both ; animation: slider-next6-animation 1s linear 1 normal 0s both ; } /* アニメーションの設定 */ @keyframes slider-next1-animation { 0% { left: 0; } 100% { left: -600px; } } @keyframes slider-next2-animation { 0% { left: -600px; } 100% { left: -1200px; } } @keyframes slider-next3-animation { 0% { left: -1200px; } 100% { left: -1800px; } } @keyframes slider-next4-animation { 0% { left: -1800px; } 100% { left: -2400px; } } @keyframes slider-next5-animation { 0% { left: -2400px; } 100% { left: -3000px; } } @keyframes slider-next6-animation { 0% { left: -3000px; } 0% { left: -3600px; } } /* 前後に進むためのボタン部分 */ .slider-view__controllers { position: relative; top: 40%; z-index: 9999; } .slider-view__controllers__icon-set { display: none; position: relative; } .slider-view__controllers__icon-set:nth-of-type(1) { display: block; } .slider-back, .slider-next { position: absolute; } .slider-next { right: 0; } /* 前後に進むためのボタンがクリックされた時の挙動 */ #slider-next1:checked ~ .slider-view__controllers > .slider-view__controllers__icon-set:nth-of-type(1) ,#slider-next2:checked ~ .slider-view__controllers > .slider-view__controllers__icon-set:nth-of-type(2) ,#slider-next3:checked ~ .slider-view__controllers > .slider-view__controllers__icon-set:nth-of-type(3) ,#slider-next4:checked ~ .slider-view__controllers > .slider-view__controllers__icon-set:nth-of-type(4) ,#slider-next5:checked ~ .slider-view__controllers > .slider-view__controllers__icon-set:nth-of-type(5) ,#slider-next6:checked ~ .slider-view__controllers > .slider-view__controllers__icon-set:nth-of-type(6) { display: none; } #slider-next1:checked ~ .slider-view__controllers > .slider-view__controllers__icon-set:nth-of-type(2) ,#slider-next2:checked ~ .slider-view__controllers > .slider-view__controllers__icon-set:nth-of-type(3) ,#slider-next3:checked ~ .slider-view__controllers > .slider-view__controllers__icon-set:nth-of-type(4) ,#slider-next4:checked ~ .slider-view__controllers > .slider-view__controllers__icon-set:nth-of-type(5) ,#slider-next5:checked ~ .slider-view__controllers > .slider-view__controllers__icon-set:nth-of-type(6) ,#slider-next6:checked ~ .slider-view__controllers > .slider-view__controllers__icon-set:nth-of-type(1) { display: block; }
#sub_box {
width:650px;
border: solid #000 1px;
}
.slider__content__item_ {
-webkit-justify-content: center;
justify-content: center;
-webkit-align-items: center;
display: -webkit-flex;
-ms-justify-content: center;
-ms-align-items: center;
display: -ms-flex;
display: flex; /* flexコンテナ化 */
font-size:42px;
font-weight:bold;
text-align:center;
}
h2 {
margin:20px 0 15px 60px;
color:#47A095;
}
.text_p1 {
margin:0 60px 20px 60px;
font-size:24px;
font-weight:bold;
}
.text_p2 {
margin:0 60px 0 60px;
}

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2018/07/19 04:03
退会済みユーザー
2018/07/19 04:09
退会済みユーザー
2018/07/19 04:18
2018/07/19 04:22
退会済みユーザー
2018/07/19 04:25
2018/07/19 04:53
退会済みユーザー
2018/07/19 08:18 編集
2018/07/19 08:20
退会済みユーザー
2018/07/19 08:32
退会済みユーザー
2018/07/19 08:42
2018/07/19 10:10
退会済みユーザー
2018/07/19 11:37
2018/07/19 12:00
退会済みユーザー
2018/07/20 05:52 編集
退会済みユーザー
2018/07/19 23:08
2018/07/19 23:34
退会済みユーザー
2018/07/20 05:52
退会済みユーザー
2018/07/20 07:46
退会済みユーザー
2018/07/20 08:12
2018/07/20 23:42