• 検索結果がありません。

JavaScript演習

N/A
N/A
Protected

Academic year: 2021

シェア "JavaScript演習"

Copied!
21
0
0

読み込み中.... (全文を見る)

全文

(1)
(2)

本日の内容

• prompt関数

• 演習1

• 演習2

• document.getElementById関数

• 演習3

• イベント処理

• 基本的なフォーム

• テキストボックスの入力値の取得

• 演習4

(3)

IEにおけるJavaScriptのデバッグ方法

IEを再起動

1. ツール→インターネットオプションメニューを実行

2. 詳細設定タブの「スクリプトエラーごとに通知を表示する」をチェック

「スクリプトのデバッグを使用しない(Internet Explorer)」のチェックを

はずす

3. IEを再起動

(4)

関数

• 再利用可能なJavaScriptコードのかたまりに名前を

つけたもの

• ex7.html

function 関数名(引数)

{

定義内容

return 戻り値;

}

4

関数名(引数);

var num = 関数名(引数);

定義方法

呼び出し方法

(5)

document.write関数

• document.write(引数)

-引数をHTMLとして表示させる

• ex8.html

var str = "Hello, World";

document.write("<p>" + str + "</p>");

(6)

prompt関数

• prompt(引数)

-引数をメッセージとして表示し,ユーザから

の入力情報(文字列)を取得する関数

• ex9.html

6 var value = prompt("値を入力してください.");

alert(value);

document.write('<h1>prompt関数</h1>'); document.write('<h1>' +value + '</h1>');

(7)

演習問題1

• prompt関数とdocument.write関数を用いて

,ユーザから入力されたテキスト,文字の色,

文字のサイズ(%)に応じて,表示内容を変化

させるJavaScriptプログラムを書きなさい

(8)

条件分岐

• ex10.html, ex11.html

• if文

• switch文

8

if

(条件1) {

文1;

}

else if

(条件2) {

文2;

・・・・・

}

else

{

文N;

}

条件の部分には,

論理値(true or false)

が入る

switch (テストデータ) { case マッチデータ1: 文1; break; case マッチデータ2: 文2; break; default: 文3; break; } break文を使って他の選択肢が 実行されないようにする マッチする選択肢が なかったときに実行

(9)

繰り返し

• ex12.html

• for文

• while文

for (初期化; テスト; 更新) {

アクション;

}

初期化;

(10)

parseInt関数とparseFloat関数

• parseInt(引数)

– 引数で文字列を渡すと数値に変換

• parseFloat(引数)

– 引数で文字列を渡すと浮動小数点に変換

• ex13.html

10

(11)

演習問題2

• “Hello!”という文字列をユーザが入力した数だけ表

示するJavaScriptプログラムを作成しなさい

• 行数を5で割った余りが1の場合には赤色,2の場

合には緑色,3の場合には黄色,4の場合には黒,0

の場合には青色,さらに,3の倍数の場合には

200%の大きさで”Hello!”を表示しなさい

(12)

document.getElementById関数

• document.getElementById(引数)

– 引数で指定した要素オブジェクトを得る

• document.getElementById(引数).innerHTML

– 引数で指定した要素オブジェクトのHTMLを得る

• document.getElementById(引数).style.CSSプロ

パティ

– 引数で指定した要素オブジェクトのCSSプロパティを得る

– CSSプロパティ名は,基本的には「ハイフン(-)」を除去し,

ハイフンの後の文字を大文字に変換したものを用いる

– 参考:

http://codepunk.hardwar.org.uk/css2js.htm

12

(13)

オブジェクトのイメージ

<body>

<h1

id="id1"

>Hello</h1>

</body>

document.getElementById(“id”)

属性:

色 (style.color): black

HTMLテキスト (innerHTML): Hello

H1要素のオブジェクト

<body>

<h1

id="id1“ style=‘color: red’

>Hello, World</h1>

</body>

(14)

document.getElementById関数

14

function test() {

var h1Value = document.getElementById("id1").innerHTML; alert(h1Value);

document.getElementById("id1").innerHTML = prompt(''); var item1 = document.getElementById("item1").innerHTML; alert(item1);

var item2 = document.getElementById("item2").innerHTML; alert(item2);

var item1 = document.getElementById("item3").innerHTML; alert(item3); document.getElementById("divid").innerHTML = "テスト"; document.getElementById("divid").style.color = "red"; document.getElementById("divid").style.fontSize = "200%"; document.getElementById("divid").style.backgroundColor = "black"; }

ex14.html

<body onload='test()'> <h1 id="id1">document.getElementById関数</h1> <ul>

<li id="item1">項目1</li> <li id="item2">項目2</li> <li id="item3">項目3</li> </ul> <div id="divid"></div> </body>

JavaScript

HTML

onload=‘関数名’ ドキュメントが完全に 読み込まれた後に指 定した関数を呼び出す divは「division(区画)」の略 他の要素をまとめて,構造化する際に 用いられる JavaScriptで操作する対象になる

(15)

演習問題3

• div要素にid属性を指定し,JavaScriptプログラムに

よりdiv要素のCSSプロパティを設定し,以下の長方

形を表示するプログラムを作成せよ

<div style="

position

:

absolute

;

top

:

40

;

left

:

40

;

width

:

150

;

height

:

250

;

background-color

:

#0000FF

;

border

:

thick solid red

;

visibility

:

visible

;">

</div>

(16)

イベント処理

• JavaScriptでは、ユーザからの入力があるとWebブラウザが

イベント

生成

– 例えば、キーボードを押したり、マウスを動かしたりクリックしたりするなど

様々な場面でイベントが発生する

あるイベントが発生した際に、そのイベントに対する

イベントハンドラ

を定

義しておけば、インタラクティブなページを作ることが可能

イベントハンドラ

発生契機

サポートするHTML要素

onblur

要素が入力フォーカスを失った時

<button>, <input>, <label>,

<select>, <textarea>,<body>

onchange

入力フォーカスが移された時と要素

の値が変わった時

<input>, <select>, <textarea>

onclick

マウスを一回クリックした時

大半の要素

onmouseover

マウスが要素の上に移動した

大半の要素

onkeydown(up)

ユーザが何かキーを押した

フォーム要素と<body>

(17)

基本的なフォーム

テキスト

– input要素のtype属性がtext

ラジオボタン

– input要素のtype属性がradio – name属性の値を共通にすることでグループ化できる – value属性で値を指定

メニュー(リストボックスとコンボボックス)

– select要素とoption要素 – select要素のsize属性の値が1の場合 にはコンボボックス,2以上の場合には リストボックス – option要素のvalue属性で値を指定

チェックボックス

– input要素のtype属性がcheckbox

<form>

<input type=“”>XXX

<select>

<option>~

</select>

<textarea></textarea>

(18)

テキストボックスの入力値の取得

• テキストボックス内に入力したデータを、

ボタンが押されたらdiv要素に出力

• ex15.html

(19)

テキストボックスの入力値の取得

function getValue() {

var text = document.getElementById("input").value; document.getElementById("output").innerHTML = text; }

function checkValue() {

var text = document.getElementById("input").value; if (text == "") { alert("文字を入力してください."); } else { alert("OK"); } }

JavaScript

HTML

(20)

演習問題4

• テキストボックスを2つ作成し,入力値の加算

結果をdiv要素に出力せよ

– parseFloat関数を利用すること

– 余力があれば,数値かどうかのチェックも行うこと

• isNaN(Not a Number)関数を利用すると,入力値が数

値かどうかを判別可能 (数値でない場合にtrueを返す)

演習問題4は提出する必要は

ありません.

(21)

演習問題4

• さらに余力がある人は,テキストボックスの横のdiv要素に

以下のメッセージを出力するようにしてみてください

– テキストボックスが空の場合には「数値を入力してください」

– テキストボックスが数値以外の場合には「数値ではありません」

– テキストボックスが数値の場合には「OK」

• ex15.htmlのonkeyupイベントハンドラを用いること

• メッセージは上記のとおりでなくても良い

参照

関連したドキュメント

自発的な文の生成の場合には、何らかの方法で numeration formation が 行われて、Lexicon の中の語彙から numeration

あれば、その逸脱に対しては N400 が惹起され、 ELAN や P600 は惹起しないと 考えられる。もし、シカの認可処理に統語的処理と意味的処理の両方が関わっ

ピアノの学習を取り入れる際に必ず提起される

 このフェスティバルを成功させようと、まずは小学校5年生から50 代まで 53

一般法理学の分野ほどイングランドの学問的貢献がわずか

自然言語というのは、生得 な文法 があるということです。 生まれつき に、人 に わっている 力を って乳幼児が獲得できる言語だという え です。 語の それ自 も、 から

最後に,本稿の構成であるが,本稿では具体的な懲戒処分が表現の自由を

東京電力エリアの場合は 東京電力パワーグリッド の「Web 申込システム」へ のユーザIDが必要とな