目前分類:未分類文章 (2007)
- Dec 07 Mon 2009 16:57
張娟娟拔箭參賽首日遇到大風 網上排位第五(圖)
- Dec 07 Mon 2009 16:57
網站優化需要什麼樣的設計?
- Dec 07 Mon 2009 16:56
網站優化需要哪些服務
- Dec 07 Mon 2009 16:56
網站優化
- Dec 07 Mon 2009 16:19
網頁設計HTML組件HTML COMPONENTS之四
无标题文档
網頁設計HTML組件HTML COMPONENTS之四
當calendar.html調用 MYCAL:CALENDAR,當月的日曆將會顯示在頁面中,函數setCal()是主要程序段,它初始化一些變量並調用drawCal()函數。我們也使用了三個別的函數:getMonthName()、 getDays() 和 leapYear()。讓我們從最後一個函數開始: getDays()函數接收哪月值和哪年值,並且建立一個有12個元素的數組,用來存放每月的天數,哪一年用來決定是不是閏年,在閏年中二月是29天,而不是閏年是28天。網站設計該函數返回指定月份的天數。以下是getDays():function getDays(month, year) { // create array to hold number of days in each month var ar = new Array(12); ar[0] = 31; // January ar[1] = (leapYear(year)) ? 29 : 28; // February ar[2] = 31; // March ar[3] = 30; // April ar[4] = 31; // May ar[5] = 30; // June ar[6] = 31; // July ar[7] = 31; // August ar[8] = 30; // September ar[9] = 31; // October ar[10] = 30; // November ar[11] = 31; // December // return number of days in the specified month (parameter) return ar[month]; } 如果指定網頁寄存的年數可以被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()函數返回指定月份的名字: function getMonthName(month) { // create array to hold name of each month var ar = new Array(12); ar[0] = "January"; ar[1] = "February"; ar[2] = "March"; ar[3] = "April"; ar[4] = "May"; ar[5] = "June"; ar[6] = "July"; ar[7] = "August"; ar[8] = "September"; ar[9] = "October"; ar[10] = "November"; ar[11] = "December"; // return name of specified month (parameter) return ar[month]; } setCal()函數是主模塊,我們在腳本的第一行調用它。該函數為當天(now)、和每月的第一天(firstDayInstance)建立一個Date對象。Web Design用這些對象,setCal()函數解析出關於一個月的第一天、當日,和最後一天的所有信息。 function setCal() { // standard time attributes var now = new Date(); var year = now.getFullYear(); var month = now.getMonth(); var monthName = getMonthName(month); var date = now.getDate(); now = null; // create instance of first day of month, and extract the day on which it occurs var firstDayInstance = new Date(year, month, 1); var firstDay = firstDayInstance.getDay(); firstDayInstance = null; // number of days in current month var days = getDays(month, year); // call function to draw calendar drawCal(firstDay + 1, days, date, monthName, year); }
- Dec 07 Mon 2009 16:17
網頁設計HTML組件HTML COMPONENTS之三
无标题文档
網頁設計HTML組件HTML COMPONENTS之三
現在我們將我們注視的焦點轉向我們的日曆應用例子,該應用包括4個不同頁面,canlendar.html為最頂級HTML文檔,該頁包含了calendar.htc HTC,而canlendar.htc有反過來包含兩個別的HTC:day.htc和today.htc,calendar.html 內容如下: <HTML XMLNS:MYCAL> <HEAD> <TITLE>Calendar Example</TITLE> <?IMPORT NAMESPACE="MYCAL" IMPLEMENTATION="calendar.htc"/> </HEAD> <BODY> <P>Click a day in the calendar to add or modify your schedule.</P> <MYCAL:CALENDAR></MYCAL:CALENDAR> </BODY> </HTML> Web Design有幾個要點您必須重點注意:第一、命名空間定義在〈HTML〉標記中,我們需要使用在我們要調用的HTC中定義的命名空間,在canlendar.htc中的命名空間是:MYCAL,所以在<HTML>標記中必須出現XMLNS標識。 <?IMPORT>標記以問號開始以和別的正常標記區別開,該標記要求瀏覽器導入指定的HTC:calendar.htc,HTC可以有多個命名空間,故在導入時需要指明要使用的命名空間(MYCAL): <?IMPORT NAMESPACE="MYCAL" IMPLEMENTATION="calendar.htc"/> HTC的主要優點之一就是:瀏覽器將一直掛起頁面解析直到輸入文件全部被導入為止。頁面處理的異步機制將導致許多問題,瀏覽器並不等元素已經完全顯示才開始解析頁面,作為網站設計例子,你可以建立一個對象,並且在文擋的頂部訪問一個在頁面底部的方法,如果對像因為某些原因為準備好,你將會得到一個錯誤指示沒有該對像不存在或該對像不支持你要訪問的方法,相信您已經碰到過此類事情了吧!不管這樣,?IMPORT 是同步的,並且瀏覽器會一直等待頁面導入完畢並且內容準備好。 頁面唯一而且重要的一行是調用自定義標記MYCAL:CALENDAR: <MYCAL:CALENDAR></MYCAL:CALENDAR> 因為頁面已經導入,故該調用將會像在calendar.htc所指定的那樣建立一個日曆。 您可能已經注意到HTC可以包含別的HTC,calendar.htc包括兩個別的HTML組件,每個月的所有日期:day.htc和與當前日期一致的today.htc,以下是canlendar.htc的頂部15行:<HTML XMLNS:MYCAL XMLNS:TODAY XMLNS:ANYDAY> <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 fnInit() { defaults.viewLink = document; } // --> </SCRIPT> 第一行在這些HTC會用到的XML命名空間。這些命名空間即包括本頁自己要用到的,也包括頁面需調用的命名空間(ANYDAY 和 TODAY ),注意命名空間並不一定要和HTC文件文件名一致。接著,我們導入這些HTC: <?IMPORT NAMESPACE="ANYDAY" IMPLEMENTATION="day.htc"/> <?IMPORT NAMESPACE="TODAY" IMPLEMENTATION="today.htc"/> 當我們解析到這些行,瀏覽器將一直等到要導入的文件被導入才繼續頁面解析(同步導入)。然後我們定義CALENDAR自定義標記: <PUBLIC:COMPONENT tagName="CALENDAR"> <ATTACH EVENT="oncontentready" ONEVENT="fnInit()"/> </PUBLIC:COMPONENT> PUBLIC:COMPONENT用來描述CALENDAR標記,在開始和結束標記之間,您可以將事件附加到CALENDAR標記上,事件oncontentready將在calendar.htc文件全部被導入,並被解析時,指定處理時間的是定義在javascript的函數:fnInit():<SCRIPT LANGUAGE="javascript"> <!-- function fnInit() { defaults.viewLink = document; } // --> </SCRIPT> viewLink指定的值非常重要,網頁寄存
- Dec 07 Mon 2009 16:14
網頁寄存:篩選潛在主機商
- Dec 07 Mon 2009 16:11
旅遊網站與香港旅館捆綁推出的現實性
- Dec 07 Mon 2009 16:09
旅遊市場的短板缺憾:特色香港旅館
- Dec 07 Mon 2009 15:47
旅遊合同可能藏貓膩 管理部門提醒注意香港旅館合同細節
- Dec 07 Mon 2009 15:44
旅遊產業不應短視 香港賓館經濟弊大於利
- Dec 07 Mon 2009 15:19
開店網上廣告宣傳招
- Dec 07 Mon 2009 15:14
聚賭討債跳樓致傷 香港賓館疏於管理判賠
- Dec 07 Mon 2009 15:10
酒駕嚴查致香港賓館業驟降
- Dec 07 Mon 2009 14:52
酒後不開車,「打的」香港賓館有抵扣
- Dec 07 Mon 2009 14:50
節慶活動多拉動島城旅遊 星級香港賓館入住率100%
- Dec 07 Mon 2009 14:42
婚宴攝影 -「三德子」軍裝Wedding photo照 腳墊小木箱顯身高
- Dec 07 Mon 2009 14:38
婚禮攝影──婚宴攝影美的空調10年變頻戰略剖析
- Dec 07 Mon 2009 14:36
婚禮攝影-「陶」園蜜月 浪漫婚宴攝影在日本信樂町裡