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

質問編集履歴

5

書式の改善

2024/06/21 04:28

投稿

3_April_2021
3_April_2021

スコア48

title CHANGED
@@ -1,1 +1,1 @@
1
- 対応するボタンを押すことによってテキストの色を複数回変更する
1
+ ボタンを押てテキストの色を変更する方法
body CHANGED
@@ -1,67 +1,31 @@
1
- ##Code
2
- ```html
3
- <button type="button" onclick="buttonClick('red')">red</button>
4
- <button type="button" onclick="buttonClick('orange')">orange</button>
5
- <button type="button" onclick="buttonClick('blue')">blue</button>
6
- <button type="button" onclick="buttonClick('finish')">finish</button>
7
- <p id='iElement'>Hi!</p>
8
- ```
9
- ```script
10
- function changeColor(color,element){
11
- if(color !== 'finish'){
12
- do {
13
- switch(color){
14
- case 'red':
15
- element.style.color = 'red';
16
- break;
17
- case 'blue':
18
- element.style.color = 'blue';
19
- break;
20
- case 'orange':
21
- element.style.color = 'orange';
22
- break;
23
- }//switch
24
- } while(color !== finish);//?
25
- }//if
26
- else{
27
- element.style.color = 'black';
28
- }//else if
29
- }//function changeColor
30
-
31
- function buttonClick(color) {
32
- const element = document.getElementById('iElement');
33
- changeColor(color,element);
34
- }//function buttonClick
35
- ```
36
- ##Action & Question
37
- ###コードを正しく理解します
38
- 期待される動作を実現するコードが表示されます。 しかし、偶然と試行錯誤によって作成されたため、これはなぜ起こるのかを理解されていません(たとえばdo...whileのstatementは明らかに奇妙です、しかし修正方法がわかりません)。
39
- ###より良い方法を見つけます
40
- この試みは、以前に同じ目的によって作成されたコードが「対応するボタンを押すことによってテキストの色を1回変更する」ことしかできなかったために行われました。 反復処理(特に、 do...while)を使用するプログラムは初めて使用されるようなものなので、これは誤っているか、不適切に記述されている可能性があります。
41
- ##編集
42
- ###No.1: 目的を達成するコードが作成されました。
43
- もう少し詳細なコードを書いているときにこのようなコードが機能しなかったため、簡略化されたテストが実行されていましたが、プロセスで何らかの問題が発生していたようです: 目的を達成するコードがすでに作成されています。ただし、誤解が生じた事実が警戒され、締切はいくらかの確認を経た後に実行されます。 また、コードは整形後に投稿されます。焦らないでください。
44
- ####No.2:No.1のコード
45
- ```script
46
- function changeColor(color,element){
47
- switch(color){
48
- case 'red': element.style.color = 'red'; break;
49
- case 'blue': element.style.color = 'blue'; break;
50
- case 'orange': element.style.color = 'orange'; break;
51
- }
52
- }
53
- function buttonClick(color) {
54
- const element = document.getElementById('iElement');
55
- changeColor(color,element);
56
- }
57
- ```
58
- ```html
59
- <button type="button" onclick="buttonClick('red')">red</button>
60
- <button type="button" onclick="buttonClick('orange')">orange</button>
61
- <button type="button" onclick="buttonClick('blue')">blue</button>
62
- <p id='iElement'>Hi!</p>
63
- ```
64
- ### No.3: No.2のコードを修正しました
65
- 修正部分の抜けがありました。 同じことを繰り返したくないので、全部示すことにしました。また、このコードでは特に必要がなかったので、finishは省かれています。
66
- ###No.4: 既存回答の確認を完了次第、回答の受付が終了されます。
67
- ループが必要だと誤解した理由に見当がつきました。 まだ十分に検証されていませんが、それはここに書く必要がある場合でも補足となる内容に過ぎないため、回答の受付はその検証とは無関係に終了されます。 焦らないでください。
1
+ ボタンを押すことでテキストの色を変更するコードを作成したい。
2
+
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
+ }
19
+
20
+ function handleButtonClick(color) {
21
+ const element = document.getElementById('textElement');
22
+ changeColor(color, element);
23
+ }
24
+ ```
25
+
26
+ ```
27
+ <button type="button" onclick="handleButtonClick('red')">red</button>
28
+ <button type="button" onclick="handleButtonClick('orange')">orange</button>
29
+ <button type="button" onclick="handleButtonClick('blue')">blue</button>
30
+ <p id='textElement'>Hi!</p>
31
+ ```

4

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

2021/04/26 06:22

投稿

3_April_2021
3_April_2021

スコア48

title CHANGED
File without changes
body CHANGED
@@ -62,4 +62,6 @@
62
62
  <p id='iElement'>Hi!</p>
63
63
  ```
64
64
  ### No.3: No.2のコードを修正しました
65
- 修正部分の抜けがありました。 同じことを繰り返したくないので、全部示すことにしました。また、このコードでは特に必要がなかったので、finishは省かれています。
65
+ 修正部分の抜けがありました。 同じことを繰り返したくないので、全部示すことにしました。また、このコードでは特に必要がなかったので、finishは省かれています。
66
+ ###No.4: 既存回答の確認を完了次第、回答の受付が終了されます。
67
+ ループが必要だと誤解した理由に見当がつきました。 まだ十分に検証されていませんが、それはここに書く必要がある場合でも補足となる内容に過ぎないため、回答の受付はその検証とは無関係に終了されます。 焦らないでください。

3

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

2021/04/26 06:22

投稿

3_April_2021
3_April_2021

スコア48

title CHANGED
File without changes
body CHANGED
@@ -42,7 +42,6 @@
42
42
  ###No.1: 目的を達成するコードが作成されました。
43
43
  もう少し詳細なコードを書いているときにこのようなコードが機能しなかったため、簡略化されたテストが実行されていましたが、プロセスで何らかの問題が発生していたようです: 目的を達成するコードがすでに作成されています。ただし、誤解が生じた事実が警戒され、締切はいくらかの確認を経た後に実行されます。 また、コードは整形後に投稿されます。焦らないでください。
44
44
  ####No.2:No.1のコード
45
- function changeColor()以外の変更はありません。
46
45
  ```script
47
46
  function changeColor(color,element){
48
47
  switch(color){
@@ -51,4 +50,16 @@
51
50
  case 'orange': element.style.color = 'orange'; break;
52
51
  }
53
52
  }
53
+ function buttonClick(color) {
54
+ const element = document.getElementById('iElement');
55
+ changeColor(color,element);
56
+ }
54
- ```
57
+ ```
58
+ ```html
59
+ <button type="button" onclick="buttonClick('red')">red</button>
60
+ <button type="button" onclick="buttonClick('orange')">orange</button>
61
+ <button type="button" onclick="buttonClick('blue')">blue</button>
62
+ <p id='iElement'>Hi!</p>
63
+ ```
64
+ ### No.3: No.2のコードを修正しました
65
+ 修正部分の抜けがありました。 同じことを繰り返したくないので、全部示すことにしました。また、このコードでは特に必要がなかったので、finishは省かれています。

2

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

2021/04/26 06:17

投稿

3_April_2021
3_April_2021

スコア48

title CHANGED
File without changes
body CHANGED
@@ -40,4 +40,15 @@
40
40
  この試みは、以前に同じ目的によって作成されたコードが「対応するボタンを押すことによってテキストの色を1回変更する」ことしかできなかったために行われました。 反復処理(特に、 do...while)を使用するプログラムは初めて使用されるようなものなので、これは誤っているか、不適切に記述されている可能性があります。
41
41
  ##編集
42
42
  ###No.1: 目的を達成するコードが作成されました。
43
- もう少し詳細なコードを書いているときにこのようなコードが機能しなかったため、簡略化されたテストが実行されていましたが、プロセスで何らかの問題が発生していたようです: 目的を達成するコードがすでに作成されています。ただし、誤解が生じた事実が警戒され、締切はいくらかの確認を経た後に実行されます。 また、コードは整形後に投稿されます。焦らないでください。
43
+ もう少し詳細なコードを書いているときにこのようなコードが機能しなかったため、簡略化されたテストが実行されていましたが、プロセスで何らかの問題が発生していたようです: 目的を達成するコードがすでに作成されています。ただし、誤解が生じた事実が警戒され、締切はいくらかの確認を経た後に実行されます。 また、コードは整形後に投稿されます。焦らないでください。
44
+ ####No.2:No.1のコード
45
+ function changeColor()以外の変更はありません。
46
+ ```script
47
+ function changeColor(color,element){
48
+ switch(color){
49
+ case 'red': element.style.color = 'red'; break;
50
+ case 'blue': element.style.color = 'blue'; break;
51
+ case 'orange': element.style.color = 'orange'; break;
52
+ }
53
+ }
54
+ ```

1

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

2021/04/26 06:05

投稿

3_April_2021
3_April_2021

スコア48

title CHANGED
File without changes
body CHANGED
@@ -37,4 +37,7 @@
37
37
  ###コードを正しく理解します
38
38
  期待される動作を実現するコードが表示されます。 しかし、偶然と試行錯誤によって作成されたため、これはなぜ起こるのかを理解されていません(たとえばdo...whileのstatementは明らかに奇妙です、しかし修正方法がわかりません)。
39
39
  ###より良い方法を見つけます
40
- この試みは、以前に同じ目的によって作成されたコードが「対応するボタンを押すことによってテキストの色を1回変更する」ことしかできなかったために行われました。 反復処理(特に、 do...while)を使用するプログラムは初めて使用されるようなものなので、これは誤っているか、不適切に記述されている可能性があります。
40
+ この試みは、以前に同じ目的によって作成されたコードが「対応するボタンを押すことによってテキストの色を1回変更する」ことしかできなかったために行われました。 反復処理(特に、 do...while)を使用するプログラムは初めて使用されるようなものなので、これは誤っているか、不適切に記述されている可能性があります。
41
+ ##編集
42
+ ###No.1: 目的を達成するコードが作成されました。
43
+ もう少し詳細なコードを書いているときにこのようなコードが機能しなかったため、簡略化されたテストが実行されていましたが、プロセスで何らかの問題が発生していたようです: 目的を達成するコードがすでに作成されています。ただし、誤解が生じた事実が警戒され、締切はいくらかの確認を経た後に実行されます。 また、コードは整形後に投稿されます。焦らないでください。