###実現したいこと
タブをクリックすると、横にスーッとスライドするようにしたいです。
タブをクリックしても、反応が得られません。
$("#tab1").click(moveToFirst);のあたりが怪しいと思っていますが、わからずにいます。
また、他のjsはうまく反応を得られています。
###コード
HTML
1<div id="wrap"> 2 <div id="tab1" class="tab selected">Tab 1</div> 3 <div id="tab2" class="tab">Tab 2</div> 4 5 <div id="container"> 6 <div id="slide" class=""> 7 <div id="first" class="box">1タブ内容</div> 8 <div id="second" class="box">2タブ内容</div> 9 </div> 10 </div> 11</div>
js
1//= require activestorage 2//= require turbolinks 3//= require_tree . 4//= require jquery 5//= require jquery_ujs 6$("#tab1").click(moveToFirst); 7$("#tab2").click(moveToSecond); 8 9function moveToFirst() { 10 $("#slide").attr('class', 'move-to-first'); 11 $(".tab").attr('class', 'tab'); 12 $("#tab1").attr('class', 'tab selected'); 13} 14 15function moveToSecond() { 16 $("#slide").attr('class', 'move-to-second'); 17 $(".tab").attr('class', 'tab'); 18 $("#tab2").attr('class', 'tab selected'); 19}
css
1.tab { 2 height: 40px; 3 width: 100px; 4} 5 6.selected { 7 background-color: black; 8} 9 10#container { 11 position: relative; 12 overflow: hidden; 13 clear: left; 14} 15 16.box { 17 display: inline-block; 18 white-space: nowrap; 19 position: absolute; 20 width: 400px; 21 height: 200px; 22} 23 24#first { 25 top: 0px; 26 left: 0px; 27} 28 29#second { 30 top: 0px; 31 left: 400px; 32} 33 34#slide { 35 transition: transform 1s ease-in-out 0s; 36 -moz-transition: -moz-transform 1s ease-in-out 0s; 37 -webkit-transition: -webkit-transform 1s ease-in-out 0s; 38} 39.move-to-first { 40 transform: translateX(0px); 41 -moz-transform: translateX(0px); 42 -webkit-transform: translateX(0px); 43} 44.move-to-second { 45 transform: translateX(-400px); 46 -moz-transform: translateX(-400px); 47 -webkit-transform: translateX(-400px); 48} 49 50 51
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/02/12 09:18
2020/02/12 14:30