HTML Component(HTC) 小应用

时间:2021-05-22

在微软IE5.0版本的浏览器发布以前,网页编程中面对的最大挑战就是不能轻易地创建组件,以达到代码重用和多页面共享的目的。这个问题一直困扰着DHTML(动态HEML)的网页编程者。他们只能不断地重复书写HTML、CSS和javascript的代码,以满足多个页面上的重复或相似的功能。自IE5.0浏览器发布后,这种情况得到了改善,它带给我们一个新的指令组合方法,可把实现特定功能的代码封装在一个组件内,从而实现多页面的代码重用,使网页编程进入一个全新的天地。这个新的技术就是我们要谈到的DHTML中的“行为”(Behaviors)。
下面是我做的一个小例子:
font_effect.htc
复制代码 代码如下:
////////////////////////“行为”文档开始////////////////////////////
//给“行为”增加四个鼠标事件
<PUBLIC:ATTACHEVENT="onmouseover"ONEVENT="glowit()"/>
<PUBLIC:ATTACHEVENT="onmouseout"ONEVENT="noglow()"/>
<PUBLIC:ATTACHEVENT="onmousedown"ONEVENT="font2yellow()"/>
<PUBLIC:ATTACHEVENT="onmouseup"ONEVENT="font2blue()"/>
//给“行为”定义二个方法,注意NAME的值里不能加括号
<PUBLIC:METHODNAME="move_down"/>
<PUBLIC:METHODNAME="move_right"/>
<scriptlanguage="JScript">
//定义一个保存字体颜色的变量
varfont_color;
//定义向下移动文字的方法
functionmove_down()
{
element.style.posTop+=10;
}
//定义向右移动文字的方法
functionmove_right()
{
element.style.posLeft+=10;
}
//定义鼠标onmouseup事件的调用函数
functionfont2blue()
{
if(event.srcElement==element)
{
element.style.color="blue";
}
}
//定义鼠标onmousedown事件的调用函数
functionfont2yellow()
{
if(event.srcElement==element)
{
element.style.color="yellow";
}
}
//定义鼠标onmouseover事件的调用函数
functionglowit()
{
if(event.srcElement==element)
{
font_color=style.color;
element.style.color="white";
element.style.filter="glow(color=red,strength=2)";
}
}
//定义鼠标onmouseout事件的调用函数
functionnoglow()
{
if(event.srcElement==element)
{
element.style.filter="";
element.style.color=font_color;
}
}
</script>
//////////////////“行为”文档结束///////////////////////////////

htcExample.htm
复制代码 代码如下:
<html>
<head>
<title>行为效果演示</title>
<style>
.myfilter{behavior:url(font_effect.htc);position:relative;width:880}
</style>
</head>
<body>
<buttononclick="myspan.move_right();">向右移动文字</button>
<buttononclick="myspan.move_down();">向下移动文字</button>
<br/><br/>
<spanid="myspan"class='myfilter'>鼠标指向后产生辉光,同时文字变白;按下鼠标后文字变黄;抬起鼠标后文字变蓝;鼠标离开后文字恢复原状</span>
</body>
</html>

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章