HTML组件(HTML COMPONENTS)之五

2016-01-29 11:50 8 1 收藏

HTML组件(HTML COMPONENTS)之五,HTML组件(HTML COMPONENTS)之五

【 tulaoshi.com - Html 】

    ANYDAY组件定义在day,htc中,该组件是日历单元的一个封装。组件的名字是由定义在第一行的XML命名空间决定的。

<HTML XMLNS:ANYDAY

  正如canlenar.htc一样,你只有一个命名空间定义,原因是在该页不用调用其他的HTC,也就是说该HCT是叶子HTC,在这里我们定义的自定义标签是DAY,同样我们也定义它的行为,实际上,HTML组件的定义就是自定义标签行为的定义,该行为包括一个属性和一个事件:

<PUBLIC:COMPONENT tagName="DAY"
<PROPERTY NAME="value"</PROPERTY
<ATTACH EVENT="oncontentready" ONEVENT="fnInit()"</ATTACH
</PUBLIC:COMPONENT

  注意事件 oncontentready ,当它的调用者calendar.htc要求导入day.htc并且被完全导入,该事件就会产生,事件的处理者是fnInit().我们来看看它:

function fnInit() {
document.body.innerHTML = element.value;
document.body.className = "clsDay";
defaults.viewLink = document;
element.appointments = "";
element.date = element.value;
}

  fnInit()演示了很多重要的HTC章节。第一行把 element.value 指定给调用页的 innerHTML 属性。HTML组件总是封装在element对象里。value属性一般定义在PROPERTY标签中,作为提醒,实际的值从调用页面传入,canlendar.htc:
text += '<TD<ANYDAY:DAY value=' + dayOfMonth + '</ANYDAY:DAY</TD'
单元样式在第二行指定:

document.body.className = "clsDay";
样式类 clsDay 定义在该页的别处:

<STYLE
.clsDay {
width:50;
height:50;
background-color:lightyellow;
align:center;
text-align:right;
}
</STYLE


  注意在日历中日期的被填色为亮黄色,这证明HTC的格式的指定模式被它的调用者所支配,即:calendar.htc.
  fninit()的第三行设置default对象的viewlink属性,viewLink属性是HTML组件的基础,它可以使得一个HTC文档(day.htc)对另一个HTML组件(calendar.htc)来说可见.这儿就是viewLink的设置:

defaults.viewLink = document;

  注意您需要联接的是整个document对象。fnInit()的最后两行初始化我们将在以后解释的两个内部属性:

element.appointments = "";
element.date = element.value;

用于它本身的显示,DAY HTML组件和鼠标点击相关:

<BODY onclick="fnShowAppts()"

当该天被点击,用户被提醒在该天加上他或她的约会,或者修改已经存在的约会:

function fnShowAppts() {
newAppointments = prompt("Add your appointment:", element.appointments);
if (newAppointments != null) element.appointments = newAppointments;
document.body.innerHTML = '<FONT COLOR="red"' + element.date + '</FONT' + "<BR" + '<FONT SIZE="1"' + element.appointments + '</FONT';
}

  这里的输入机制非常原始,用户在约会指定中加入新行标签(<BR),否则他们将都显示在一行。最后innerHTML是日期数据(element.date)和约会指定(element.appointments) 的连接纽带。
  TODAY HTML组件(today.htc)和ANYDAY组件(day.htc)非常类似。唯一的不同是样式快中的background-color是pink而不是lightyellow,并且字体颜色是blue 而不是red.
  注意在日历中当前日期是粉红色(pink)背景蓝色的字。

  下节将列出我们所讲的日历的完整代码和一个不用HTC组件方法实现的日历代码

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/html/) 

来源:http://www.tulaoshi.com/n/20160129/1483521.html

延伸阅读
  ===最顶级页面=== 现在我们将我们注视的焦点转向我们的日历应用例子,该应用包括4个不同页面,canlendar.html为最顶级HTML文档,该页包含了calendar.htc HTC,而canlendar.htc有反过来包含两个别的HTC:day.htc和today.htc,calendar.html 内容如下: <HTML XMLNS:MYCAL <HEAD <TITLECalendar Example</TITLE ...
  HTML 组件(HTML COMPONENTS)是IE5。0的主要扩展之一,其也最具革命性,微软的意图是用HTML组件来取代ACTIVEX控件,和ACTIVE控件一样,HTML组件是自持续封闭对象,可以一次开发任意使用,使用HTML组件有很多好处,本文将给您揭示其中的一些! HTML组件带入了很多新的术语、思想、对象、方法和属性,我将通过一个日历应用给您接受...
HTML 组件(HTML COMPONENTS)是IE5。0的主要扩展之一,其也最具革命性,微软的意图是用HTML组件来取代ACTIVEX控件,和ACTIVE控件一样,HTML组件是自持续封闭对象,可以一次开发任意使用,使用HTML组件有很多好处,本文将给您揭示其中的一些! HTML组件带入了很多新的术语、思想、对象、方法和属性,我将通过一个日历应用给您接受这些,这个日...
===CALENDAR HTC=== <HEAD <?IMPORT NAMESPACE="ANYDAY" IMPLEMENTATION="day.htc"/ <?IMPORT NAMESPACE="TODAY" IMPLEMENTATION="today.htc"/ <PUBLIC:COMPONENT tagName="CALENDAR" <ATTACH EVENT="oncontentready" ONEVENT="fnInit()"/ </PUBLIC:COMPONENT <SCRIPT LANGUAGE="JavaScript" <!-- function...
===编写日历一=== 如果指定的年数可以被4整除,那么leapYear()函数将返回“true”,否则返回”false“: function leapYear(year) { if (year % 4 == 0) // basic rule return true; // is leap year /* else */ // else not needed when statement is "return" return false; // is not leap year } getMonthName()函数返回指定月份的...

经验教程

148

收藏

9
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部