回答編集履歴

1

追記

2016/05/23 07:08

投稿

tkturbo
tkturbo

スコア5572

test CHANGED
@@ -51,3 +51,59 @@
51
51
 
52
52
 
53
53
  ```
54
+
55
+
56
+
57
+ ■ここから追記
58
+
59
+ よくよく見たら、「change()」を実行するイベントが「style.display='none'」される要素についてました。
60
+
61
+ これでは「style.display='none'」された後、クリックされる要素がなくなります(非表示になるのでクリック不能になる)。
62
+
63
+ そこで、こんな風にしてみてはどうでしょうか?
64
+
65
+ ```html
66
+
67
+ <div class="item">
68
+
69
+ <!-- クリックできる余地を作る→「dog」という文字列 -->
70
+
71
+ <div class="item-box">
72
+
73
+ dog
74
+
75
+ <div id="img1"><img src="img.jpeg" alt="img dog" width="200" height="200" alt=""></div>
76
+
77
+ <iframe id="movie1" width="200" height="200" src="https://www.youtube.com/embed/j5PLngd2WN0" allowfullscreen></iframe>
78
+
79
+ </div>
80
+
81
+ </div>
82
+
83
+ ```
84
+
85
+ ```javascript
86
+
87
+ //イベントハンドラをまとめる関数
88
+
89
+ window.onload=function(){
90
+
91
+ var itemboxes = document.getElementsByClassName('item-box');
92
+
93
+ for(var i = 0; i < itemboxes.length; i++){
94
+
95
+ var num = i + 1;
96
+
97
+ var node;
98
+
99
+ // div
100
+
101
+ // 文字列「dog」を含む要素にイベントハンドラを紐づける。
102
+
103
+ node = itemboxes[i];//.getElementsByTagName('div')[0];
104
+
105
+ node.onclick=change(num);
106
+
107
+
108
+
109
+ ```