teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

画像追加

2020/02/17 04:57

投稿

no1knows
no1knows

スコア3365

answer CHANGED
@@ -180,4 +180,7 @@
180
180
  $("#tab2").attr('class', 'tab selected');
181
181
  }
182
182
  });
183
- ```
183
+ ```
184
+ codepenで実行
185
+ ![イメージ説明](97312276ee442c1d9b82a7699d62f911.png)
186
+ ![イメージ説明](cd8d2946d9513dbd4664eff386c7b541.png)

1

追記

2020/02/17 04:57

投稿

no1knows
no1knows

スコア3365

answer CHANGED
@@ -36,4 +36,148 @@
36
36
  </div>
37
37
  </div>
38
38
  </div>
39
+ ```
40
+
41
+ 追記
42
+ ---
43
+
44
+ 下記にて期待した動作が確認できるかと思います。
45
+ x_xさんからも追記がありますように基本的には、参考サイトをベースに修正していくのが望ましいです。
46
+ またCSSの修正ポイントも追記しましたので、参考サイトと比べてみて下さい。
47
+
48
+ ```html
49
+ <div id="wrap">
50
+ <div id="tab1" class="tab selected">Tab 1</div>
51
+ <div id="tab2" class="tab">Tab 2</div>
52
+
53
+ <div id="container">
54
+ <div id="slide" class="">
55
+ <div id="first" class="box">
56
+ <p>Check this Out</p>
57
+ <div class="box-red"></div>
58
+ </div>
59
+ <div id="second" class="box"><p>TAB2</p>
60
+ <div class="flex"><!-- ここはFlexで横並び -->
61
+ <div class="box-blue"></div>
62
+ <div class="box-blue"></div>
63
+ </div>
64
+ </div>
65
+ </div>
66
+ </div>
67
+ </div>
68
+ ```
69
+
70
+ ```css
71
+ body, html {
72
+ margin: 0px;
73
+ padding: 0px;
74
+ width: 100%;
75
+ height:100%;
76
+ text-align: center;
77
+ }
78
+
79
+ #wrap {
80
+ width: 100%; //←この幅
81
+ margin: 0 auto;
82
+ margin-top: 10px;
83
+ }
84
+
85
+ .tab {
86
+ height: 40px;
87
+ width: 50%; //←この幅
88
+ line-height: 40px;
89
+ text-align: center;
90
+ font-size: 20pt;
91
+ float: left;
92
+ cursor: pointer;
93
+ }
94
+
95
+ .selected {
96
+ background-color: black;
97
+ color: white;
98
+ border: none;
99
+ }
100
+
101
+ #container {
102
+ position: relative;
103
+ width: 100%; //←この幅
104
+ height: 1000px; //←この高さ
105
+ overflow: hidden;
106
+ clear: left;
107
+ }
108
+
109
+ .box {
110
+ display: inline-block;
111
+ white-space: nowrap;
112
+ position: absolute;
113
+ width: 100%; //←この幅
114
+ height: 1000px; //←この高さ
115
+ line-height: 200px;
116
+ text-align: center;
117
+ font-size: 28pt;
118
+ cursor: pointer;
119
+ }
120
+
121
+ #first {
122
+ top: 0px;
123
+ left: 0px;
124
+ }
125
+
126
+ #second {
127
+ top: 0px;
128
+ left: 100%; //←この移動距離
129
+ }
130
+
131
+ #slide {
132
+ transition: transform 1s ease-in-out 0s;
133
+ -moz-transition: -moz-transform 1s ease-in-out 0s;
134
+ -webkit-transition: -webkit-transform 1s ease-in-out 0s;
135
+ }
136
+
137
+ .move-to-second {
138
+ transform: translateX(-100%); //←この移動距離
139
+ -moz-transform: translateX(-100%); //←この移動距離
140
+ -webkit-transform: translateX(-100%); //←この移動距離
141
+ }
142
+
143
+ .move-to-first {
144
+ transform: translateX(0px);
145
+ -moz-transform: translateX(0px);
146
+ -webkit-transform: translateX(0px);
147
+ }
148
+
149
+ .flex{
150
+ display:flex; //←これで横並び
151
+ }
152
+ .box-red{
153
+ height:80px;
154
+ width:80px;
155
+ border:2px solid black;
156
+ background-color:red;
157
+ }
158
+ .box-blue{
159
+ height:80px;
160
+ width:80px;
161
+ border:2px solid black;
162
+ background-color:blue;
163
+ }
164
+ ```
165
+
166
+ ```jQuery
167
+ $(document).on('turbolinks:load', function() {
168
+ $("#tab1").click(moveToFirst);
169
+ $("#tab2").click(moveToSecond);
170
+
171
+ function moveToFirst() {
172
+ $("#slide").attr('class', 'move-to-first');
173
+ $(".tab").attr('class', 'tab');
174
+ $("#tab1").attr('class', 'tab selected');
175
+ }
176
+
177
+ function moveToSecond() {
178
+ $("#slide").attr('class', 'move-to-second');
179
+ $(".tab").attr('class', 'tab');
180
+ $("#tab2").attr('class', 'tab selected');
181
+ }
182
+ });
39
183
  ```