質問編集履歴

2

追記(条件式をquesFunc内でも記述した)

2019/06/25 03:18

投稿

ueda_kesuke
ueda_kesuke

スコア34

test CHANGED
File without changes
test CHANGED
@@ -195,3 +195,149 @@
195
195
  アドバイスをいただいたように、moveFuncNarrowとmoveFuncWideを定義したのですが、両方動いてしまいます。
196
196
 
197
197
  画面幅に応じてどちらか片方を動かしたいです。return文とかなのかなと思ったのですが、うまく使えませんでした...。ご教授いただきたいです。
198
+
199
+
200
+
201
+
202
+
203
+
204
+
205
+
206
+
207
+ ### 追記(条件式をquesFunc内でも定義してみました)
208
+
209
+ ```javascript
210
+
211
+ function quesFunc(){
212
+
213
+ var idArray = this.id.split("_");
214
+
215
+ var qID = Number(idArray[0]);
216
+
217
+ var ansID = Number(idArray[1]);
218
+
219
+
220
+
221
+ var selectID = selectArray[qID];
222
+
223
+
224
+
225
+ if (ansID == selectID) return;
226
+
227
+
228
+
229
+ $("#" + qID + "_" + ansID).addClass("selected")
230
+
231
+ $("#" + qID + "_" + selectID).removeClass("selected");
232
+
233
+
234
+
235
+ selectArray[qID] = ansID;
236
+
237
+
238
+
239
+
240
+
241
+ $(window).resize(function(){
242
+
243
+ var w = $(window).width();
244
+
245
+ var x = 415;
246
+
247
+ if (w <= x) {
248
+
249
+ $(".qBox").css("width", "300px");
250
+
251
+ moveFuncNarrow(qID);
252
+
253
+ } else {
254
+
255
+ moveFuncWide(qID);
256
+
257
+ }
258
+
259
+ });
260
+
261
+
262
+
263
+
264
+
265
+  moveFuncNarrow(qID);
266
+
267
+ moveFuncWide(qID);
268
+
269
+
270
+
271
+ scoreArray[qID] = Number($(this).attr("sc"));
272
+
273
+
274
+
275
+ if (qID + 1 >=qNum) resultFunc();
276
+
277
+
278
+
279
+ }
280
+
281
+
282
+
283
+
284
+
285
+
286
+
287
+
288
+
289
+ function moveFuncWide(qID){
290
+
291
+ var myPos = (qID+1) * -650;
292
+
293
+ $("#qContainer").delay(500).animate({left: myPos},500);
294
+
295
+
296
+
297
+ }
298
+
299
+
300
+
301
+ function moveFuncNarrow(qID){
302
+
303
+
304
+
305
+ var myPos = (qID+1) * -300;
306
+
307
+ $("#qContainer").delay(500).animate({left: myPos},500);
308
+
309
+
310
+
311
+ }
312
+
313
+
314
+
315
+ // 両方動いてしまっている。条件によって片方だけ動かしたい
316
+
317
+
318
+
319
+
320
+
321
+ $(window).resize(function(){
322
+
323
+ var w = $(window).width();
324
+
325
+ var x = 415;
326
+
327
+ if (w <= x) {
328
+
329
+ $(".qBox").css("width", "300px");
330
+
331
+ moveFuncNarrow(qID);
332
+
333
+ } else {
334
+
335
+ moveFuncWide(qID);
336
+
337
+ }
338
+
339
+ });
340
+
341
+
342
+
343
+ ```

1

追記

2019/06/25 03:18

投稿

ueda_kesuke
ueda_kesuke

スコア34

test CHANGED
File without changes
test CHANGED
@@ -55,3 +55,143 @@
55
55
  足りない情報などありましたら教えていただきたいです。
56
56
 
57
57
  どうかご教授の方よろしくお願いいたします????‍♂️
58
+
59
+
60
+
61
+
62
+
63
+ ```
64
+
65
+ selectArray = [-1,-1,-1,-1,-1,-1,-1,-1,-1,-1];
66
+
67
+ scoreArray = [0,0,0,0,0,0,0,0,0,0];
68
+
69
+ qNum = selectArray.length;
70
+
71
+
72
+
73
+ function quesFunc(){
74
+
75
+ var idArray = this.id.split("_");
76
+
77
+ var qID = Number(idArray[0]);
78
+
79
+ var ansID = Number(idArray[1]);
80
+
81
+
82
+
83
+ var selectID = selectArray[qID];
84
+
85
+
86
+
87
+ if (ansID == selectID) return;
88
+
89
+
90
+
91
+ $("#" + qID + "_" + ansID).addClass("selected")
92
+
93
+ $("#" + qID + "_" + selectID).removeClass("selected");
94
+
95
+
96
+
97
+ selectArray[qID] = ansID;
98
+
99
+
100
+
101
+ moveFuncWide(qID);
102
+
103
+ moveFuncNarrow(qID);
104
+
105
+
106
+
107
+ scoreArray[qID] = Number($(this).attr("sc"));
108
+
109
+
110
+
111
+ if (qID + 1 >=qNum) resultFunc();
112
+
113
+
114
+
115
+ }
116
+
117
+
118
+
119
+
120
+
121
+
122
+
123
+
124
+
125
+ function moveFuncWide(vol){
126
+
127
+ var myPos = (vol+1) * -650;
128
+
129
+ $("#qContainer").delay(500).animate({left: myPos},500);
130
+
131
+ return false;
132
+
133
+ }
134
+
135
+
136
+
137
+ function moveFuncNarrow(vol){
138
+
139
+
140
+
141
+ var myPos = (vol+1) * -300;
142
+
143
+ $("#qContainer").delay(500).animate({left: myPos},500);
144
+
145
+ return false;
146
+
147
+ }
148
+
149
+
150
+
151
+ // 両方動いてしまっている。条件によって片方だけ動かしたい
152
+
153
+
154
+
155
+
156
+
157
+ $(window).resize(function(){
158
+
159
+ var w = $(window).width();
160
+
161
+ var x = 415;
162
+
163
+ if (w <= x) {
164
+
165
+ $(".qBox").css("width", "300px");
166
+
167
+ moveFuncNarrow();
168
+
169
+ } else {
170
+
171
+ moveFuncWide();
172
+
173
+ }
174
+
175
+ });
176
+
177
+ .
178
+
179
+ .
180
+
181
+ .
182
+
183
+ $(function(){
184
+
185
+
186
+
187
+ $("ul>li").click(quesFunc);
188
+
189
+ });
190
+
191
+
192
+
193
+ ```
194
+
195
+ アドバイスをいただいたように、moveFuncNarrowとmoveFuncWideを定義したのですが、両方動いてしまいます。
196
+
197
+ 画面幅に応じてどちらか片方を動かしたいです。return文とかなのかなと思ったのですが、うまく使えませんでした...。ご教授いただきたいです。