How to Make DHtml -Communicator-

このページはHTML及び、JavaScriptについて知識があるという前提で書かれています。
Netscape Navigator4.0(communicator)におけるDynamic HTMLの最大の特徴は、<LAYER>タグです。 <LAYER>タグは属性を指定することにより、既存のHTMLに捕らわれない、 自由なポジショニングが可能なものです。 そして、その<LAYER>タグに対してJavaScriptを使用する事により、 動的表現などが可能になります。



■<LAYER>タグ

*<LAYER>タグの詳しい説明については、ここをご覧下さい。
まず、LAYERの基礎知識です。

<LAYER name="lay1" left=100 top=300>LAYERです</LAYER>
上の例は、画面左から100ピクセル、上から300ピクセルの場所に、 「LAYERです」という文字を表示するHTMLです。 これは画面上のデザインどのような状態でも、必ず100,300の場所に、「LAYERです」を表示します。 もちろん、left=400 top=100 とすれば、画面左から400ピクセル、上から100ピクセルの場所に、 「LAYERです」が表示されます。
この自由なポジショニングが可能なLAYERをJavaScriptで操作すると、 (つまり、LAYERのtop,leftの数字をJavaScriptを使用して変えていくと) 画面全体を使った自由で動的な表現が出来るのです。


■<LAYER>タグ〜その2〜

<LAYER name="lay1" left=100 top=300 visibility="hide">LAYERです</LAYER>
上の例は、画面左から100ピクセル、、、といきたいとこですが、 上のHTML文を実行してみると、なぜか何も表示されません。 これは何故かというと、LAYERタグの中に、新しいオプション"visibility"が あるのが分かると思います。 これは、LAYERの表示・非表示を切り替えるモノで、これで非表示と指定されると、 <LAYER>〜</LAYE>で囲まれた部分が、画面に表示されません。 つまり、上の例では非表示を表す"hide"が指定されていたので、何も表示されなかったのです。 表示を表す"show"を指定してみて下さい。今度はちゃんと表示されるのが分かると思います。


■<LAYER>オブジェクト

*<LAYER>オブジェクトの詳しい説明については、ここをご覧下さい。

<LAYER name="lay1" left=100 top=300>LAYERです</LAYER>
<FORM Mathod="post">
<INPUT TYPE="button" value="Click!" onClick="move()">
</FORM>
<SCRIPT Language="JavaScript">
 function move() {
   document.layers["lay1"].left = 250;
   document.layers["lay1"].top  = 100;
  }
</SCRIPT>
上の例は、JavaScriptを使用して、LAYERのポジションを動かしています。 普通、上記のスクリプトタグを書かずにロードすると、座標(100,300)の所に、 「LAYER」ですの文字が表示されます。 しかし、ボタンを押してmove()関数が呼び出されると、 上のLAYERの座標(250,100)に移動します。
このように、layerを操作するには、このlayerオブジェクトを使い操作します。 基本の形は、
    document.layers[LayerName].property(mathod)
です。LayerNameのとこは、操作したいLAYERのname=""を指定して下さい。 property(mathod)は、そのレイヤーに対して行いたい処理を指定します。 (なお、プロパティやメソッドについてはここに一覧があります)
以上の様にして、LAYERに対してアクセス・コントロールを行います。 setTimeout()などを併用すればアニメーションもするわけです。
to be continued....

[ Back ]