在微软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>

Posted on 2006-12-20 19:33  Clark Zheng  阅读(324)  评论(0编辑  收藏  举报