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

回答編集履歴

1

少し修正してみました

2021/11/13 11:12

投稿

cx20
cx20

スコア4700

answer CHANGED
@@ -1,15 +1,20 @@
1
- 実現したいこととあっているか分かりませんが少し修正してみました。
1
+ 少し修正してみました。こんな感じでしょうか?
2
2
 
3
3
  ```html
4
4
  <body onload="draw()">
5
5
  <p>
6
+ 左側の図形のサイズ:
6
- 縦:<input type="number" name="tate" size="40" size="40" min="1" max="100" value="100">
7
+ 縦:<input type="number" id="tate1" size="40" size="40" min="1" max="100" value="50">
8
+ 横:<input type="number" id="yoko1" size="40" size="40" min="1" max="100" value="80">
7
9
  </p>
8
10
  <p>
11
+ 右側の図形のサイズ:
12
+ 縦:<input type="number" id="tate2" size="40" size="40" min="1" max="100" value="50">
9
- 横:<input type="number" name="yoko" size="40" size="40" min="1" max="100" value="100">
13
+ 横:<input type="number" id="yoko2" size="40" size="40" min="1" max="100" value="80">
10
14
  </p>
11
- <br/>
15
+ <p>
12
16
  <input type="button" value="更新" onclick="koushin1()">
17
+ </p>
13
18
  <canvas id="pattern1" width="1000" height="500"></canvas>
14
19
 
15
20
  <script>
@@ -21,25 +26,24 @@
21
26
  var canvas = document.getElementById('pattern1');
22
27
  if (canvas.getContext) {
23
28
  var ctx = canvas.getContext('2d');
24
- ctx.clearRect(0, 0, canvas.width, canvas.height); // クリア処理
29
+ ctx.clearRect(0, 0, canvas.width, canvas.height);
25
- var yoko1 = document.getElementsByName('yoko')[0].value;
30
+ var yoko1 = document.getElementById('yoko1').value;
26
- var tate1 = document.getElementsByName('tate')[0].value;
31
+ var tate1 = document.getElementById('tate1').value;
27
- var yoko2 = document.getElementsByName('yoko')[0].value;
32
+ var yoko2 = document.getElementById('yoko2').value;
28
- var tate2 = document.getElementsByName('tate')[0].value;
33
+ var tate2 = document.getElementById('tate2').value;
29
34
 
30
35
  ctx.strokeRect(20, 20, yoko1 * 4.5, tate1 * 4.5); // (20,20,入力値*4.5,入力*4.5)
31
36
  ctx.strokeRect(500, 20, yoko2 * 4.5, tate2 * 4.5); // 上同様
32
37
  }
33
-
34
38
  }
35
39
 
36
40
  function koushin1() {
37
41
  draw();
42
+
38
43
  }
39
44
  </script>
40
- </body>
41
45
  ```
42
46
 
43
47
  <実行結果>
44
- [https://jsfiddle.net/cx20/fdvpq6sj/](https://jsfiddle.net/cx20/fdvpq6sj/)
48
+ [https://jsfiddle.net/cx20/4p5q7uvg/](https://jsfiddle.net/cx20/4p5q7uvg/)
45
- ![イメージ説明](58ae96f095ca6b320069d8a8c86a0ed5.png)
49
+ ![イメージ説明](02aeda23513f700568d453aa9c0d3377.png)