htcファイルでプロパティを定義する(2)

htcファイルではonmouseoverとonmouseoutの動作とhiliteColorという プロパティを定義している。 そして、このhtcファイルを<A>タグにATTACHしている。 3つのリンク(つまり<A>)のうち、1つ目ではHILITECOLOR="lime"、 2つ目ではHILITECOLOR="cyan"と指定してある。このため、 マウスがのったときHILITECOLOR属性で指定した色になる。 3番目ではHILITECOLOR属性は指定していない。 このため、htcファイルのスクリプトで デフォルトにしてあるredに変化する。 けっこうややこしいぞ、コレ。
Yahoo JAPAN
Goo
Lycos

本ファイル

<STYLE TYPE="text/css">
A	{behavior:url(dhtml_ie_neo0034s.htc)}
</STYLE>
:
:
<A HREF="http://www.yahoo.co.jp" HILITECOLOR="lime">Yahoo JAPAN</A><BR>
<A HREF="http://www.goo.ne.jp" HILITECOLOR="cyan">Goo</A><BR>
<A HREF="http://www.lycos.ne.jp"">Lycos</A><BR>

dhtml_ie_neo0034s.htc

<PUBLIC:COMPONENT>
<PUBLIC:PROPERTY NAME="hiliteColor" />
<PUBLIC:ATTACH EVENT="onmouseover" ONEVENT="Hilite()" />
<PUBLIC:ATTACH EVENT="onmouseout" ONEVENT="Restore()" />
<PUBLIC:ATTACH EVENT="onload" FOR="window" ONEVENT="Init()" />

<SCRIPT LANGUAGE="JavaScript">
var defaultColor

function Init()	{
	if(hiliteColor == null)	{
		hiliteColor = "red"
	}
}

function Hilite()	{
	defaultColor = element.style.color
	element.style.color = hiliteColor
}

function Restore()	{
	element.style.color = defaultColor
}

</SCRIPT>
</PUBLIC:COMPONENT>