質問編集履歴

5

書式の改善

2024/06/21 04:28

投稿

3_April_2021
3_April_2021

スコア48

test CHANGED
@@ -1 +1 @@
1
- 対応するボタンを押すことによってテキストの色を複数回変更する
1
+ ボタンを押てテキストの色を変更する方法
test CHANGED
@@ -1,133 +1,31 @@
1
- ##Code
1
+ ボタンを押すことでテキストの色を変更するコードを作成したい。
2
2
 
3
- ```html
3
+ -----
4
+ 最初のコードではcolorが’finish’でない限り、switch文内の条件に基づいてelementのテキスト色を変更する処理が繰り返されていました。そのHTMLコードは、4つのボタンと1つのテキスト要素を含んでいました。それぞれのボタンには異なる色が設定されており、クリックされたときにhandleButtonClick関数が呼び出されます。handleButtonClick関数は引数として色の名前(‘red’、‘orange’、‘blue’、または’finish’)を受け取り、選択された色に応じて処理を実行します。このdo...while ループの使用は勘違いによるものであったため、次のコードに変更されました。
5
+ ```
6
+ function changeColor(color, element) {
7
+ switch(color) {
8
+ case 'red':
9
+ element.style.color = 'red';
10
+ break;
11
+ case 'blue':
12
+ element.style.color = 'blue';
13
+ break;
14
+ case 'orange':
15
+ element.style.color = 'orange';
16
+ break;
17
+ }
18
+ }
4
19
 
5
- <button type="button" onclick="buttonClick('red')">red</button>
20
+ function handleButtonClick(color) {
6
-
7
- <button type="button" onclick="buttonClick('orange')">orange</button>
8
-
9
- <button type="button" onclick="buttonClick('blue')">blue</button>
10
-
11
- <button type="button" onclick="buttonClick('finish')">finish</button>
12
-
13
- <p id='iElement'>Hi!</p>
21
+ const element = document.getElementById('textElement');
22
+ changeColor(color, element);
23
+ }
24
+ ```
14
25
 
15
26
  ```
16
-
17
- ```script
18
-
19
- function changeColor(color,element){
20
-
21
- if(color !== 'finish'){
22
-
23
- do {
24
-
25
- switch(color){
26
-
27
- case 'red':
28
-
29
- element.style.color = 'red';
27
+ <button type="button" onclick="handleButtonClick('red')">red</button>
30
-
31
- break;
32
-
33
- case 'blue':
34
-
35
- element.style.color = 'blue';
36
-
37
- break;
38
-
39
- case 'orange':
40
-
41
- element.style.color = 'orange';
28
+ <button type="button" onclick="handleButtonClick('orange')">orange</button>
42
-
43
- break;
44
-
45
- }//switch
46
-
47
- } while(color !== finish);//?
48
-
49
- }//if
50
-
51
- else{
52
-
53
- element.style.color = 'black';
29
+ <button type="button" onclick="handleButtonClick('blue')">blue</button>
54
-
55
- }//else if
56
-
57
- }//function changeColor
58
-
59
-
60
-
61
- function buttonClick(color) {
62
-
63
- const element = document.getElementById('iElement');
30
+ <p id='textElement'>Hi!</p>
64
-
65
- changeColor(color,element);
66
-
67
- }//function buttonClick
68
-
69
31
  ```
70
-
71
- ##Action & Question
72
-
73
- ###コードを正しく理解します
74
-
75
- 期待される動作を実現するコードが表示されます。 しかし、偶然と試行錯誤によって作成されたため、これはなぜ起こるのかを理解されていません(たとえばdo...whileのstatementは明らかに奇妙です、しかし修正方法がわかりません)。
76
-
77
- ###より良い方法を見つけます
78
-
79
- この試みは、以前に同じ目的によって作成されたコードが「対応するボタンを押すことによってテキストの色を1回変更する」ことしかできなかったために行われました。 反復処理(特に、 do...while)を使用するプログラムは初めて使用されるようなものなので、これは誤っているか、不適切に記述されている可能性があります。
80
-
81
- ##編集
82
-
83
- ###No.1: 目的を達成するコードが作成されました。
84
-
85
- もう少し詳細なコードを書いているときにこのようなコードが機能しなかったため、簡略化されたテストが実行されていましたが、プロセスで何らかの問題が発生していたようです: 目的を達成するコードがすでに作成されています。ただし、誤解が生じた事実が警戒され、締切はいくらかの確認を経た後に実行されます。 また、コードは整形後に投稿されます。焦らないでください。
86
-
87
- ####No.2:No.1のコード
88
-
89
- ```script
90
-
91
- function changeColor(color,element){
92
-
93
- switch(color){
94
-
95
- case 'red': element.style.color = 'red'; break;
96
-
97
- case 'blue': element.style.color = 'blue'; break;
98
-
99
- case 'orange': element.style.color = 'orange'; break;
100
-
101
- }
102
-
103
- }
104
-
105
- function buttonClick(color) {
106
-
107
- const element = document.getElementById('iElement');
108
-
109
- changeColor(color,element);
110
-
111
- }
112
-
113
- ```
114
-
115
- ```html
116
-
117
- <button type="button" onclick="buttonClick('red')">red</button>
118
-
119
- <button type="button" onclick="buttonClick('orange')">orange</button>
120
-
121
- <button type="button" onclick="buttonClick('blue')">blue</button>
122
-
123
- <p id='iElement'>Hi!</p>
124
-
125
- ```
126
-
127
- ### No.3: No.2のコードを修正しました
128
-
129
- 修正部分の抜けがありました。 同じことを繰り返したくないので、全部示すことにしました。また、このコードでは特に必要がなかったので、finishは省かれています。
130
-
131
- ###No.4: 既存回答の確認を完了次第、回答の受付が終了されます。
132
-
133
- ループが必要だと誤解した理由に見当がつきました。 まだ十分に検証されていませんが、それはここに書く必要がある場合でも補足となる内容に過ぎないため、回答の受付はその検証とは無関係に終了されます。 焦らないでください。

4

編集>No.4: 既存回答の確認を完了次第、回答の受付が終了されます。

2021/04/26 06:22

投稿

3_April_2021
3_April_2021

スコア48

test CHANGED
File without changes
test CHANGED
@@ -127,3 +127,7 @@
127
127
  ### No.3: No.2のコードを修正しました
128
128
 
129
129
  修正部分の抜けがありました。 同じことを繰り返したくないので、全部示すことにしました。また、このコードでは特に必要がなかったので、finishは省かれています。
130
+
131
+ ###No.4: 既存回答の確認を完了次第、回答の受付が終了されます。
132
+
133
+ ループが必要だと誤解した理由に見当がつきました。 まだ十分に検証されていませんが、それはここに書く必要がある場合でも補足となる内容に過ぎないため、回答の受付はその検証とは無関係に終了されます。 焦らないでください。

3

編集>No.3: No.2のコードを修正しました

2021/04/26 06:22

投稿

3_April_2021
3_April_2021

スコア48

test CHANGED
File without changes
test CHANGED
@@ -86,8 +86,6 @@
86
86
 
87
87
  ####No.2:No.1のコード
88
88
 
89
- function changeColor()以外の変更はありません。
90
-
91
89
  ```script
92
90
 
93
91
  function changeColor(color,element){
@@ -104,4 +102,28 @@
104
102
 
105
103
  }
106
104
 
105
+ function buttonClick(color) {
106
+
107
+ const element = document.getElementById('iElement');
108
+
109
+ changeColor(color,element);
110
+
111
+ }
112
+
107
113
  ```
114
+
115
+ ```html
116
+
117
+ <button type="button" onclick="buttonClick('red')">red</button>
118
+
119
+ <button type="button" onclick="buttonClick('orange')">orange</button>
120
+
121
+ <button type="button" onclick="buttonClick('blue')">blue</button>
122
+
123
+ <p id='iElement'>Hi!</p>
124
+
125
+ ```
126
+
127
+ ### No.3: No.2のコードを修正しました
128
+
129
+ 修正部分の抜けがありました。 同じことを繰り返したくないので、全部示すことにしました。また、このコードでは特に必要がなかったので、finishは省かれています。

2

編集>No.2:No.1のコード

2021/04/26 06:17

投稿

3_April_2021
3_April_2021

スコア48

test CHANGED
File without changes
test CHANGED
@@ -83,3 +83,25 @@
83
83
  ###No.1: 目的を達成するコードが作成されました。
84
84
 
85
85
  もう少し詳細なコードを書いているときにこのようなコードが機能しなかったため、簡略化されたテストが実行されていましたが、プロセスで何らかの問題が発生していたようです: 目的を達成するコードがすでに作成されています。ただし、誤解が生じた事実が警戒され、締切はいくらかの確認を経た後に実行されます。 また、コードは整形後に投稿されます。焦らないでください。
86
+
87
+ ####No.2:No.1のコード
88
+
89
+ function changeColor()以外の変更はありません。
90
+
91
+ ```script
92
+
93
+ function changeColor(color,element){
94
+
95
+ switch(color){
96
+
97
+ case 'red': element.style.color = 'red'; break;
98
+
99
+ case 'blue': element.style.color = 'blue'; break;
100
+
101
+ case 'orange': element.style.color = 'orange'; break;
102
+
103
+ }
104
+
105
+ }
106
+
107
+ ```

1

編集>No.1: 目的を達成するコードが作成されました。

2021/04/26 06:05

投稿

3_April_2021
3_April_2021

スコア48

test CHANGED
File without changes
test CHANGED
@@ -77,3 +77,9 @@
77
77
  ###より良い方法を見つけます
78
78
 
79
79
  この試みは、以前に同じ目的によって作成されたコードが「対応するボタンを押すことによってテキストの色を1回変更する」ことしかできなかったために行われました。 反復処理(特に、 do...while)を使用するプログラムは初めて使用されるようなものなので、これは誤っているか、不適切に記述されている可能性があります。
80
+
81
+ ##編集
82
+
83
+ ###No.1: 目的を達成するコードが作成されました。
84
+
85
+ もう少し詳細なコードを書いているときにこのようなコードが機能しなかったため、簡略化されたテストが実行されていましたが、プロセスで何らかの問題が発生していたようです: 目的を達成するコードがすでに作成されています。ただし、誤解が生じた事実が警戒され、締切はいくらかの確認を経た後に実行されます。 また、コードは整形後に投稿されます。焦らないでください。