当前位置: 首页 > 图文教程 > XML家族 > XML > XML入门教程:XML DHTML 行为

XML
XML 中的常见问题(二)
XML轻松学习手册(1)XML快速入门
XML入门的常见问题(三)
XML入门的常见问题(四)
XML轻松学习手册(2)XML概念
轻松学习手册(3)XML的术语
XML轻松学习手册(4)XML语法
XML轻松学习手册(5)XML实例解析
XML卷之实战锦囊(1):动态排序
XML卷之实战锦囊(2):动态查询
XML卷之实战锦囊(3):动态分页
XML卷之实战锦囊(4):选单连动
XML卷之实战锦囊(5):结构树图
对XML数据使用XMLConvert
XSL基础教程第一章
XSL基础教程第二章
XSL基础教程第三章
XSL基础教程第四章
XSL基础教程第五章
具体实现 XML 的三种方式

XML入门教程:XML DHTML 行为


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-17   浏览: 43 ::
收藏到网摘: n/a

Internet Explorer 5引入了DHTML行为。行为(Behaviors)是一种借助CSS的便利性向HTML元素添加DHTML功能性的方法。

行为 - 什么是行为?

IE 5引入了DHTML行为(DHTML behaviors)。行为(Behaviors)是一种借助CSS的便利性向HTML元素添加DHTML功能性的方法。

行为如何工作呢?通过使用XML,我们可以把行为链接到网页中的任何元素,并对元素进行操作。

DHTML行为不使用<script>标签,它们使用的是名为"behavior"的CSS属性。"behavior"规定了指向某个HTC文件的URL,此文件含有实际的行为(HTC文件使用XML编写)。

语法:

behavior: url(some_filename.htc)

注释:behavior属性被IE 5以及更高的版本支持,其他所有的浏览器都会忽略它。这意味着Mozilla、Firefox、Netscape以及其他浏览器只能识别常规的内容,而只有IE 5+可以看到DHTML behaviors。

实例

下面的HTML文件拥有一个<style>元素,其中定义了针对<h1>元素的行为:

XML文档"behave.htc"如下:

以下为引用的内容:
<attach for="element" event="onmouseover" handler="hig_lite" />
<attach for="element" event="onmouseout" handler="low_lite" />
<script type="text/javascript">
function hig_lite()
{
element.style.color='red'
}
function low_lite()
{
element.style.color='blue'
}
</script>

behavior文件含有一段JavaScript,以及用于脚本的事件处理程序。

TIY (请把鼠标放到例子中的文本上面)。

下面的HTML文件拥有一个<style>元素,其中定义了针对拥有id为"typing"的元素的行为:

以下为引用的内容:
<html>
<head>
<style type="text/css">
#typing
{
behavior:url(typing.htc);
font-family:'courier new';
}
</style>
</head>
<body>
<span id="typing" speed="100">IE5 introduced DHTML behaviors.
Behaviors are a way to add DHTML functionality to HTML elements
with the ease of CSS.<br /><br />How do behaviors work?<br />
By using XML we can link behaviors to any element in a web page
and manipulate that element.</p>
</span>
</body>
</html>

XML文档"typing.htc"如下:

以下为引用的内容:

<attach for="window" event="onload" handler="beginTyping" />
<method name="type" />
<script type="text/javascript">
var i,text1,text2,textLength,t
function beginTyping()
{
i=0
text1=element.innerText
textLength=text1.length
element.innerText=""
text2=""
t=window.setInterval(element.id+".type()",speed)
}
function type()
{
text2=text2+text1.substring(i,i+1)
element.innerText=text2
i=i+1
if (i==textLength){clearInterval(t)}
}
</script>