IE4.0、HTMLオブジェクトモデルにおいては、各HTML要素(タグなど)に対して、 アクセス及びコントロールが出来ます。下記の例を参照して下さい。
上記の例は実行すると、マウスがテキストの上を通過したとき、 テキストの色が赤色になるというものです。<!-- Sample-No.1 ---> <font id="MyTag" style="color:blue" onMouseover="chgColor()">Dynamic HTML</font> <SCRIPT Language="JavaScript"> function chgColor() { var el; el = document.all("MyTag"); el.style.color = "red"; } </script>
[Sample-No.1の実行例(下の文字に触れて下さい] |
Dynamic HTML |
今までの、HTMLでは一部のタグのみ、一部のイベント(onMouseover,onMouseout,onClick...etc)が利用可能でした(ハイパーリンクタグに、onMouseover,onMouseoutなど)。
しかし、Dynamic HTMLオブジェクトモデルにおいては、サポートされている全てのタグに全てのイベント(Mouse event,Keybord Event,Focus...etc)が利用出来ます。
つまり、<FONT>にonMouseoverなどのイベントを記述できたり、
<SPAN>タグにonKeypressのイベントを記述出来るようになりました。
先程の、Sample-No.1を見てもらうと、<FONT>にonMouseoverの記述があることが分かると思います。
これは、<FONT></FONT>で囲まれたHTML要素にマウスが通過すると、
chgColor()が呼び出されます。
■ページの瞬間的更新
先までの例を見てもらえば、分かると思いますが、Dynamic HTMLでは
ページのリロード(更新)を行わなくても、HTML要素の更新が可能です。
瞬間的に、文字の大きさや色を変えたり、HTMLの内容自体を書き変えたりなどが可能です。
■ページの書き換え
すでに決定されてる、ページ上の情報を瞬間的に書き換えるには、
innerHTMLや、outerHTMLなどを使用して行います。
上のスクリプトは、文字列をクリックすると、「Dynamic HTML」の文字を、 「New Title」に書き換えるプログラムです。<!-- Sample-No.2 ---> <font id="MyTag2" onClick="chgHTML2()">Dynamic HTML</font> <SCRIPT Language="JavaScript"> function chgHTML2() { MyTag2.innerHTML = "New Title"; } </script>
[Sample-No.2の実行例(下の文字をクリックして下さい] |
Dynamic HTML |
DHTMLオブジェクトモデルにおいては、スクリプトは
全てのHTML要素にアクセス出来るというのは前記の通りです。
もちろんStyleSheetについても、同じ事が言えます。
各タグのスタイル属性へのアクセスは、タグの持つstyleコレクションを通して行います。
形としては、ID.style.propertyという様になります。
上記の例は、文字列をクリックすると、 フォントの大きさを"12pt"から"20pt"に変えるというスクリプトです。<font id="MyTag3" style="font-size:12pt" onClick="chgHTML3()">Dynamic HTML</font> <SCRIPT Language="JavaScript"> function chgHTML3() { MyTag3.style.fontSize = "20pt"; } </script>
なお、これらのプロパティについては、StyleSheetのものとほぼ同じ名前なので、 機能についてはスタイルシートの書籍などでお調べ下さい。
Style Collection Properties background, backgroundAttachment, backgroundColor, backgroundImage, backgroundPosition, backgroundPositionX, backgroundPositionY, backgroundRepeat, border, borderBottom, borderBottomColor, borderBottomStyle, borderBottomWidth, borderColor, borderLeft, borderLeftColor, borderLeftStyle, borderLeftWidth, borderRight, borderRightColor, borderRightStyle, borderRightWidth, borderStyle, borderTop, borderTopColor, borderTopStyle, borderTopWidth, borderWidth, clear, clip, color, cssText, cursor, display, filter, font, fontFamily, fontSize, fontStyle, fontVariant, fontWeight, height, left, letterSpacing, lineHeight, listStyle, listStyleImage, listStylePosition, listStyleType, margin, marginBottom, marginLeft, marginRight, marginTop, overflow, paddingBottom, paddingLeft, paddingRight, paddingTop, pageBreakAfter, pageBreakBefore, pixelHeight, pixelLeft, pixelTop, pixelWidth, posHeight, position, posLeft, posTop, posWidth, styleFloat, textAlign, textDecoration, textDecorationBlink, textDecorationLineThrough, textDecorationNone, textDecorationOverline, textDecorationUnderline, textIndent, textTransform, top, verticalAlign, visibility, width, zIndex
[スクリプトの実行例(下の文字をクリックして下さい] |
Dynamic HTML |
IE4.0のDHtmlアニメーションは、スタイルシートのtop,leftの値を操作して実現させます。