欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

HTML Component(HTC) 小应用

程序员文章站 2022-06-19 16:09:37
在微软ie 5.0版本的浏览器发布以前,网页编程中面对的最大挑战就是不能轻易地创建组件,以达到代码重用和多页面共享的目的。这个问题一直困扰着dhtml(动态&nb...
在微软ie 5.0版本的浏览器发布以前,网页编程中面对的最大挑战就是不能轻易地创建组件,以达到代码重用和多页面共享的目的。这个问题一直困扰着dhtml(动态 heml)的网页编程者。他们只能不断地重复书写html、css和javascript的代码,以满足多个页面上的重复或相似的功能。自ie 5.0浏览器发布后,这种情况得到了改善,它带给我们一个新的指令组合方法,可把实现特定功能的代码封装在一个组件内,从而实现多页面的代码重用,使网页编程进入一个全新的天地。这个新的技术就是我们要谈到的dhtml中的“行为”(behaviors)。
下面是我做的一个小例子:
font_effect.htc
复制代码 代码如下:

////////////////////////“行为”文档开始////////////////////////////  
//给“行为”增加四个鼠标事件  
<public:attach event="onmouseover" onevent="glowit()"/>  
<public:attach event="onmouseout" onevent="noglow()"/>  
<public:attach event="onmousedown" onevent="font2yellow()"/>  
<public:attach event="onmouseup" onevent="font2blue()"/>  
//给“行为”定义二个方法,注意name的值里不能加括号 
<public:method name="move_down"/>  
<public:method name="move_right"/>  
<script language ="jscript">  
//定义一个保存字体颜色的变量  
var font_color;  
//定义向下移动文字的方法  
function move_down()  
{  
    element.style.postop += 10;  
}  
//定义向右移动文字的方法  
function move_right()  
{  
    element.style.posleft += 10;  
}  
//定义鼠标onmouseup事件的调用函数  
function font2blue() 
{  
    if (event.srcelement == element)  
    {  
        element.style.color = "blue";  
    }  
}  
//定义鼠标onmousedown事件的调用函数  
function font2yellow() 
{  
    if (event.srcelement == element)  
    {  
        element.style.color = "yellow";  
    }  
}  
//定义鼠标onmouseover事件的调用函数  
function glowit()  
{  
    if (event.srcelement == element)  
    {  
        font_color=style.color;  
        element.style.color = "white";  
        element.style.filter = "glow(color=red, strength=2)";  
    }  
}  
//定义鼠标onmouseout事件的调用函数  
function noglow()  
{  
    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> 
    <button onclick="myspan.move_right();">向右移动文字</button>  
    <button onclick="myspan.move_down();">向下移动文字</button> 
    <br /><br /> 
    <span id="myspan" class='myfilter'>鼠标指向后产生辉光,同时文字变白;按下鼠标后文字变黄;抬起鼠标后文字变蓝;鼠标离开后文字恢复原状</span> 
</body> 
</html>