| ||||||||||||||||||||
|
どのようにしたら、
ウェブページ閲覧者が スピードを設定できるか? by Akira Kato
October 9, 2003
ジャバスクリプト・コードは次のようになります。
<script language="javascript">
<!---- to hide
var
function goWink() {
function restore() {
//-----> <form name="thisForm">
<input type="button" value=" START "
onClick="goWink()">
<input type="button" value=" STOP "
<input type="text" size="5"
name="delayNumber" value="3000">
<input type=button value="Faster "
<input type=button value="Slower " </form> このページは次に示すページの続きです。もし直接、このページへジャンプした場合には、次のリンクをクリックすると、前のページを見ることができます。 『スタート・ストップ メカニズム』 新しいウィンドーが開きます。このページへ戻るには、そのウィンドーを閉じてください。 大きく違う点は、このページでは、さらに2つのボタンが追加され合計4つのボタンが付いていることです。 また、ウィンクとウィンクの間隔をミリセカンドで表示しています。 それぞれのボタン( あるいは )をクリックすることにより、この数字(初期設定3000)を減らしたり(スピードアップ)、または増やしたり(スピードダウン)することができます。 クリックすると10ずつ変化します。ダブル・クリックすると100ずつ変化します。 上記のことを実行するために、ジャバスクリプトを使って書いた部分が上のコーディング・シートの白いバックグラウンド・カラーで示した部分です。 それ以外のコードは、前のページで使っていたものを、そのまま引き継いで使っています。 このページでは、ウィンクとウィンクの間隔を変える必要があるので、
最初の INPUT タグ
<input type="text" size="5" これはスピード・メーターの部分です。つまり、ウィンクとウィンクの間隔が、ミリセカンドで表示されます。 この表示だけに使われる“窓”にdelayNumberという名前を与えています。
初期値を表示するために、valueアトリビュートを使って 3000 をその初期値として与えています。 sizeアトリビュートを使って5桁の数字であることを指定しています。
2番目の INPUT タグ
<input type=button value="Faster " この INPUT タグで上のボタンの機能を設定しています。 onClick はイベント・ハンドラーと呼ばれるものです。 onClick="クリックすると実行するステートメントをここに書く" この場合、クリックすると次の IF ステートメントを実行します。
if (
上のステートメントは下に示すステートメントと同じことを実行します。
つまり、
var var はvariable の略で、「変数」という意味です。
document.thisForm.delayNumber.value = 上の 複合IFステートメントの2番目のステートメントは、簡単に言えば、 ジャバスクリプトでは、“窓”に表示されるストリング・バリュー(value)を、このように厳密に指定しているわけです。 左側の4つの単語は、専門用語では、「オブジェクト」と呼ばれるものです。オブジェクト・プログラミングというような時に使われるオブジェクトが、この「オブジェクト」のことです。 つまり、documentというのは、ドキュメント・オブジェクトで、この場合には、このページを意味しています。 thisFormと言うのはフォーム・オブジェクトのことです。つまり、FORMタグで設定した、上のコーディング・シートで言うと、 薄い緑色で囲まれた部分です。この部分(オブジェクト)を次のように nameアトリビュートを使って thisForm と名づけています。 <form name="thisForm"> delayNumberは「テキスト窓」オブジェクトに与えられた名前です。 valueは、この「テキスト窓」オブジェクトに付随するテキスト・ストリングを保存する場所(メモリー)を意味します。 ドットは所有関係、もしくは所属関係を表しています。ドットの左側が所有しているもの、 右側が所有されるもの、あるいは左側のオブジェクトに所属しているものと言う意味です。 「テキスト窓」オブジェクトを使う場合、注意しなければならいのは、フォーム・オブジェクトと一緒に使わなければなりません。 そうでないとエラーになって、全く動きません。つまり、次のような使い方は出来ません。
onDblClick イベント・ハンドラー ボタンをダブルクリックすると10ではなく100だけ減算されます。これだけが違うことで、それ以外のことは、クリックする場合と全く変わりません。
3番目の INPUT タグ
<input type=button value="Slower " 2番目の INPUT タグとほぼ同様です。この場合には、引き算でなく足し算になっているのが違っているだけです。 引き算の場合と違って、マイナスになることがないので IFステートメントは使われていません。従って、上限を設けていません。 上限を設ける場合にはIFステートメントを付け足す必要があります。
関連リンク
| |||||||||||||||||||
|