<HTML>
<HEAD>
<SCRIPT language="JavaScript">
<!--
function wall(){
color=prompt("1:赤 2:青 3:黄","1")
if(color==null){
alert("変更中止します");
}
else if(color==1){
document.bgColor="red";
}
else if(color==2){
document.bgColor="blue";
}
else if(color==3){
document.bgColor="yellow";
}
else{
alert("入力値が間違っています。もう一度入れなおしてください");
wall();
}
}
//-->
</SCRIPT>
</HEAD>
<BODY>
<INPUT type="button" value="背景を変える"
onClick="wall()">
</BODY>
</HTML>
《結果》
《解説》
今回は関数の中身だけの解説です。
外のonClick関数などは今までたくさんやっているから、忘れた人はメールマガジンやこのページの上の解説を見てね。
<概要>
ユーザーに、1,2,3のどれかの文字を入力してもらって、それをif文で場合分けするんだね。また、キャンセルを押したり、入力を誤ったりしたときの命令も考えておこう。
function wall(){
color=prompt("1:赤 2:青 3:黄","1") ←@prompt("表示するテキスト","初期値")
if(color==null){ ←Aキャンセルを押すと”null”が返ってくる
alert("変更中止します");
}
else if(color==1){ ←Bここは入力された文字(1,2,3)による、背景色の色分け
document.bgColor="red";
}
else if(color==2){
document.bgColor="blue";
}
else if(color==3){
document.bgColor="yellow";
}
else{ ←入力間違い。つまり、1,2,3以外の数字が入れられたとき
alert("入力値が間違っています。もう一度入れなおしてください");
wall(); ←入力間違いはもう一度入力(wall()の始めに戻る)
}
}
@:まず、表示するダイアログを作ってやろう。初期値というのは初めに白いボックスに表示させる文字だよ。
そして、入力された文字がcolorという変数に入るんだね。
A:キャンセルを押すとnullという値が返ってくることはメールマガジンで書いたね。実際に確認したい人は1つ上のプログラムでキャンセルを押してごらん。
B:ここで、入力された文字によって背景色を変えているんだ。つまり、もし入力した文字が1ならばif(color==1)、背景色を赤にするdocument.bgColor="red"。入力された文字が2や3の時も同じだよ。
C:最後にelseでそれ以外のときには、もう一度入力をやり直す(wall()を実行する)んだね。 |