質問編集履歴

1

全コードの追加

2016/05/28 09:36

投稿

yuma
yuma

スコア13

test CHANGED
File without changes
test CHANGED
@@ -49,3 +49,389 @@
49
49
  document.getElementById("q"+String(i)).lastChild.src == document.getElementById("f").lastChild.src
50
50
 
51
51
  に問題があると思うのですが、どう書き直したら良いのでしょうか。
52
+
53
+
54
+
55
+ ```
56
+
57
+ <HTML>
58
+
59
+
60
+
61
+ <HEAD>
62
+
63
+
64
+
65
+ <meta charset="utf-8" />
66
+
67
+
68
+
69
+ <title>Flicker Image Search</title>
70
+
71
+
72
+
73
+ <script>
74
+
75
+
76
+
77
+ // Flicker Photo Searchの実行
78
+
79
+
80
+
81
+ function imageSearch(){
82
+
83
+ // ユーザ入力のクエリを取得
84
+
85
+ var query = document.getElementById("searchText").value;
86
+
87
+ // FlickerPhotoSearchを実行するためのスクリプトを生成
88
+
89
+ var new_script = document.createElement('script');
90
+
91
+ new_script.src = "https://api.flickr.com/services/rest/?method=flickr.photos.search&api_key=385adb1830e1bb1830f186c02b12dbd5&format=json&jsoncallback=showResults&safe_search=1&sort=relevance&tags="+query;
92
+
93
+ // 生成したスクリプトを自HTMLの先頭に追加してブラウザに実行させる
94
+
95
+ document.head.appendChild(new_script);
96
+
97
+ }
98
+
99
+
100
+
101
+ // 検索結果の表示(dataに検索結果が入る(FlickerがJSON形式で入れてくれる))
102
+
103
+ function showResults(data){
104
+
105
+ // Flickerから戻るdata形式は https://www.flickr.com/services/api/flickr.photos.search.htmlのexample results
106
+
107
+ clearResults(1);
108
+
109
+ if (data.stat != "ok"){ // 検索が成功しているかどうか確認、失敗の時はstatusを表示して戻る
110
+
111
+ document.write(data.stat);
112
+
113
+ return;
114
+
115
+ }
116
+
117
+ //最初の8個のデータのみ利用
118
+
119
+ var max_num = 8;
120
+
121
+ if (data.photos.photo.length <8) max_num = data.photos.photo.length;//8個より検索結果が少ない場合の処理
122
+
123
+ for (var i=0; i<max_num; i++){
124
+
125
+ var photo = data.photos.photo[i];
126
+
127
+ // imgエレメントを生成
128
+
129
+ var new_image = document.createElement('img');
130
+
131
+ // imgのsrcにi番目の結果(URL)を設定 (
132
+
133
+ var url="https://farm"+photo.farm+".staticflickr.com/"+photo.server+"/"+photo.id+"_"+photo.secret+"_m.jpg";
134
+
135
+ new_image.src = url ;
136
+
137
+ new_image.width="100"; // 幅を100ピクセルに設定
138
+
139
+ // imgエレメントを検索結果のi番目のセルに追加
140
+
141
+ document.getElementById("r"+String(i)).appendChild(new_image);
142
+
143
+ }
144
+
145
+ }
146
+
147
+
148
+
149
+ function saveResult(flg){
150
+
151
+ var saved_image = document.createElement('img');
152
+
153
+ saved_image.src = document.getElementById("r"+String(flg)).lastChild.src;
154
+
155
+ saved_image.width = "100";
156
+
157
+ document.getElementById("f").appendChild(saved_image);
158
+
159
+ document.getElementById("f").lastChild.addEventListener("click", function(){onClickDo(this);});
160
+
161
+ }
162
+
163
+
164
+
165
+ function onButtonClick() {
166
+
167
+ //質問表示
168
+
169
+ target = document.getElementById("output");
170
+
171
+ target.innerText = document.forms.form1.text.value;
172
+
173
+
174
+
175
+ var fimage = document.createElement('img');
176
+
177
+ fimage.src = document.getElementById("f").lastChild.src;
178
+
179
+ fimage.width = "100";
180
+
181
+
182
+
183
+ document.getElementById("q"+String(0)).appendChild(fimage);
184
+
185
+ var nodes = document.getElementById("f");
186
+
187
+ nodes.removeChild(node.lastChild);
188
+
189
+
190
+
191
+
192
+
193
+ }
194
+
195
+
196
+
197
+ function checkClick(i) {
198
+
199
+ if(document.getElementById("q"+String(i)).lastChild.src == document.getElementById("f").lastChild.src){
200
+
201
+ var check = confirm("不正解!");
202
+
203
+ }else{
204
+
205
+ var check = confirm("正解!");
206
+
207
+ }
208
+
209
+ }
210
+
211
+
212
+
213
+
214
+
215
+ </script>
216
+
217
+
218
+
219
+ </HEAD>
220
+
221
+
222
+
223
+
224
+
225
+
226
+
227
+ <BODY>
228
+
229
+
230
+
231
+ <!-- ボタンの配置 -->
232
+
233
+
234
+
235
+ <h1> Make Your ドボン問題</h1>
236
+
237
+
238
+
239
+ <!--⭐︎⭐︎⭐︎-->
240
+
241
+ <form name="form1" id="form1" action="">
242
+
243
+ <p> 質問:<input id="text" type="text" size= "50" /> </p>
244
+
245
+ </form>
246
+
247
+
248
+
249
+ <p> 画像検索:<input id="searchText" type="text" /><input id="searchButton" type="button" value="検索" onclick="imageSearch()" /> </p>
250
+
251
+
252
+
253
+ <br/>
254
+
255
+
256
+
257
+ <h2>画像検索結果</h2>
258
+
259
+
260
+
261
+ <!-- 画像検索結果を8個表示するための領域をテーブルにより構築 -->
262
+
263
+
264
+
265
+ <table border="4" bordercolor="#ffffff" bgcolor="#cccccc">
266
+
267
+
268
+
269
+ <tr bgcolor="#ffffff"> <!-- onclickで各領域がクリックされた時にsaveResultを実行するように設定 -->
270
+
271
+
272
+
273
+ <td id="r0" width="100" height="100" onClick="saveResult(0)"></td>
274
+
275
+
276
+
277
+ <td id="r1" width="100" onClick="saveResult(1)"></td>
278
+
279
+
280
+
281
+ <td id="r2" width="100" onClick="saveResult(2)"></td>
282
+
283
+
284
+
285
+ <td id="r3" width="100" onClick="saveResult(3)"></td>
286
+
287
+
288
+
289
+ <td id="r4" width="100" onClick="saveResult(4)"></td>
290
+
291
+
292
+
293
+ <td id="r5" width="100" onClick="saveResult(5)"></td>
294
+
295
+
296
+
297
+ <td id="r6" width="100" onClick="saveResult(6)"></td>
298
+
299
+
300
+
301
+ <td id="r7" width="100" onClick="saveResult(7)"></td>
302
+
303
+
304
+
305
+ </tr>
306
+
307
+
308
+
309
+ </table>
310
+
311
+
312
+
313
+ <h2>ドボン画像</h2>
314
+
315
+ <p>ひとつだけ選択してね!</p>
316
+
317
+
318
+
319
+
320
+
321
+
322
+
323
+ <table border="4" bordercolor="#ffffff" bgcolor="#cccccc">
324
+
325
+
326
+
327
+ <tr align="top" >
328
+
329
+
330
+
331
+ <td id="f" width="800" height="100" ></td>
332
+
333
+
334
+
335
+ </tr>
336
+
337
+
338
+
339
+ </table>
340
+
341
+
342
+
343
+
344
+
345
+
346
+
347
+ <input id="searchButton" type="button" value="決定" onClick="onButtonClick()" />
348
+
349
+
350
+
351
+
352
+
353
+
354
+
355
+ <h1>ドボン問題</h1>
356
+
357
+
358
+
359
+ <!--⭐︎⭐︎⭐︎-->
360
+
361
+ <div id="output"></div>
362
+
363
+
364
+
365
+ <br/>
366
+
367
+
368
+
369
+ <br/>
370
+
371
+
372
+
373
+ <table border="4" bordercolor="#ffffff" bgcolor="#cccccc">
374
+
375
+
376
+
377
+ <tr bgcolor="#ffffff"> <!-- onclickで各領域がクリックされた時にsaveResultを実行するように設定 -->
378
+
379
+
380
+
381
+ <td id="q0" width="100" height="100" onclick="checkClick(0)"></td>
382
+
383
+
384
+
385
+ <td id="q1" width="100" onclick="checkClick(1)"></td>
386
+
387
+
388
+
389
+ <td id="q2" width="100" onclick="checkClick(2)"></td>
390
+
391
+
392
+
393
+ <td id="q3" width="100" onclick="checkClick(3)"></td>
394
+
395
+
396
+
397
+ <td id="q4" width="100" onclick="checkClick(4)"></td>
398
+
399
+
400
+
401
+ <td id="q5" width="100" onclick="checkClick(5)"></td>
402
+
403
+
404
+
405
+ <td id="q6" width="100" onclick="checkClick(6)"></td>
406
+
407
+
408
+
409
+ <td id="q7" width="100" onclick="checkClick(7)"></td>
410
+
411
+
412
+
413
+ <td id="q8" width="100" onclick="checkClick(8)"></td>
414
+
415
+
416
+
417
+ </tr>
418
+
419
+
420
+
421
+ </table>
422
+
423
+
424
+
425
+
426
+
427
+ </BODY>
428
+
429
+
430
+
431
+ </HTML>
432
+
433
+
434
+
435
+
436
+
437
+ ```