情報学部 菅沼ホーム JavaScript 目次 基礎技術目次 索引

HTML 要素の属性値

  場合によっては,様々な HTML 要素の属性値を参照したり,または,動的にそれらの値を変更したいような場合が存在します.この例では,DOM のメソッド getElementById を利用し,テキストフィールドに入力された値に従って CANVAS に描画しています.従って,その値を変えれば,描かれる図も変化します.
01	<!DOCTYPE HTML>
02	<HTML>
03	<HEAD>
04		<TITLE>HTML 要素の属性値</TITLE>
05		<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
06		<META NAME=viewport CONTENT="width=device-width, initial-scale=1">
07		<LINK REL="stylesheet" TYPE="text/css" HREF="../master.css">
08		<SCRIPT TYPE="text/javascript">
09			function start() {
10				canvas = document.getElementById('canvas_e');
11				canvas.width  = 600;   // キャンバス要素の幅
12				canvas.height = 400;   // キャンバス要素の高さ
13				ctx = canvas.getContext('2d');
14				let width = 40;
15								// 描画数の取得
16				let n = document.getElementById('no').value;
17				document.getElementById('no').style.display = "none";
18								// クリア
19				ctx.clearRect(0, 0, canvas.width, canvas.height);
20								// 位置の決定と描画
21				for (let i1 = 0; i1 < n; i1++) {
22					let x = width / 2 + Math.random() * (canvas.width - width);
23					let y = width / 2 + Math.random() * (canvas.height - width);
24					ctx.fillStyle = "rgb(0, 255, 0)";
25					ctx.beginPath();
26					ctx.arc(Math.floor(x), Math.floor(y), width/2, 0, 2*Math.PI, false);
27					ctx.fill();
28				}
29			}
30		</SCRIPT>
31	</HEAD>
32	<BODY CLASS="white" STYLE="text-align: center">
33		<H1>HTML 要素の属性値</H1>
34		<CANVAS ID="canvas_e" STYLE="background-color: #eeffee;" WIDTH="600" HEIGHT="400"></CANVAS><BR><BR>
35		描画数:<INPUT ID="no" STYLE="font-size: 90%" TYPE="text" VALUE="3" SIZE="2"></INPUT> 
36		<BUTTON STYLE="font-size: 90%" onClick="start()">スタート</BUTTON>
37	</BODY>
38	</HTML>
		
36 行目

  このボタンをクリックすると関数 start が呼ばれます.

16,17 行目

  16 行目では,ID 属性の値が「 no 」である要素( 35 行目の INPUT 要素)の value 属性値INPUT 要素のテキストフィールドに設定されている値)を読み込み,変数 n に代入しています.17 行目では,同じ要素の display 属性値を "none" に設定しています.このように,STYLE 関連の属性値を参照するときは,「 style. 」を付加する必要があります.

21 行目~ 28 行目

  n 個の円をキャンバス上のランダムな位置に描画しています.

情報学部 菅沼ホーム JavaScript 目次 基礎技術目次 索引