アニメーションを使うのが初めてなのでわからないところがあり質問お願いします。
3つの要素を各ボタンで横へとスライドのように動いて欲しいのですが(選択したボタンは中央でストップ)
真ん中に移動した要素は表示90vwに、両サイドは少し見える程度(要素は隠す)に表示させたいです。
またその移動の際、ボタンも要素もループして欲しいのですがそのような可能なのでしょうか?
swiperで実証してみましたが色々問題がありアニメーションで作りたいです。
動きのイメージはこのような感じです
https://jsfiddle.net/jto759ky/#&togetherjs=ifPUhNpwiU
コードの作成に参考にしたのはこちらのサイトの<要素にクラスを付けたり消したりしてアニメーションさせてみる>です
https://qiita.com/soarflat/items/4a302e0cafa21477707f
よろしくお願い致します。
html
1<nav> 2 <input class="button1" type="button" value="1"> 3<input class="button2" type="button" value="2"> 4<input class="button3" type="button" value="3"> 5</nav> 6 7<div class="container"> 8<div class="wrapper"> 9 <div class="box1">1</div> 10 <div class="box2">2</div> 11 <div class="box3">3</div> 12</div> 13</div>
css
1body{ 2 overflow-x: hidden; 3} 4 5nav{ 6 display: flex; 7 justify-content: center; 8} 9.container{ 10 width: 270vw; 11} 12.wrapper{ 13 display: flex; 14} 15 16.box1 { 17 height: 200px; 18 width: 90vw; 19 background: pink; 20 transition: all 450ms 0s ease; 21} 22.box2 { 23 height: 500px; 24 width: 90vw; 25 background: #607964; 26 transition: all 450ms 0s ease; 27} 28.box3 { 29 height: 350px; 30 width: 90vw; 31 background: #adf4e7; 32 33} 34.active1 { 35 transform: translateX(1.4%); 36 background: red; 37 transition: all 450ms 0s ease; 38} 39.active2 { 40 transform: translateX(-31.7%); 41 background: yellow; 42 transition: all 450ms 0s ease; 43} 44.active3 { 45 transform: translateX(-65%); 46 background: blue; 47 transition: all 450ms 0s ease; 48}
js
1var $box = $('.container'); 2var $button = $('.button1'); 3 4$button.on('click', function(){ 5 $box.toggleClass('active1'); 6}); 7 8var $box = $('.container'); 9var $button = $('.button2'); 10 11$button.on('click', function(){ 12 $box.toggleClass('active2'); 13}); 14 15var $box = $('.container'); 16var $button = $('.button3'); 17 18$button.on('click', function(){ 19 $box.toggleClass('active3'); 20});