我要投稿
  • 您当前的位置:57365.com -> 技术教程 -> 网站建设教程 -> CSSHTML教程 -> 教程内容
  • [ 收藏本页教程 ]
  • HTML组件(HTML COMPONENTS)之五CSSHTML教程

    教程作者:佚名    教程来源:不详   教程栏目:CSSHTML教程    收藏本页
        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组件方法实现的日历代码

     
    我要投稿   -   广告合作   -   关于本站   -   友情连接   -   网站地图   -   联系我们   -   版权声明   -   设为首页   -   加入收藏   -   网站留言
    Copyright © 2009 - 20012 www.www.hxswjs.com All Rights Reserved.57365.com 版权所有