ホームページ  >  記事  >  ウェブフロントエンド  >  HTMLコンポーネント No.9

HTMLコンポーネント No.9

黄舟
黄舟オリジナル
2016-12-17 14:03:261009ブラウズ

====カレンダーメインページ===

 
<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>

===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> 

<SCR<a href="http://ip.knowsky.com/">ip</a>T LANGUAGE="<a href="http://www.knowsky.com/article.asp?typeid=160">java</a>Script"> 
<!-- 
function fnInit() { 
defaults.viewLink = document; 
} 
// --> 
</SCRIPT> 

<STYLE> 
TD { 
background-color:tan; 
width:50; 
height:50; 
} 
</STYLE> 
</HEAD> 

<BODY> 
<SCRIPT LANGUAGE="<a href="http://www.knowsky.com/article.asp?typeid=36">Javascript</a>"> 
<!-- 

// Copyright 1997 -- Tomer Shiran 

setCal(); 

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 
} 

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; // A<a href="http://pr.knowsky.com/">PR</a>il 
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]; 
} 

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]; 
} 

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); 
} 

function drawCal(firstDay, lastDate, date, monthName, year) { 
// constant table settings 
//var headerHeight = 50 // height of the table&#39;s header cell 
var border = 2; // 3D height of table&#39;s border 
var cellspacing = 4; // width of table&#39;s border 
var headerColor = "midnightblue"; // color of table&#39;s header 
var headerSize = "+3"; // size of tables header font 
var colWidth = 60; // width of columns in table 
var dayCellHeight = 25; // height of cells containing days of the week 
var dayColor = "darkblue"; // color of font representing week days 
var cellHeight = 40; // height of cells representing dates in the calendar 
var todayColor = "red"; // color specifying today&#39;s date in the calendar 
var timeColor = "purple"; // color of font representing current time 

// create basic table structure 
var text = ""; // initialize accumulative variable to empty string 
text += &#39;<TABLE BORDER=&#39; + border + &#39; CELLSPACING=&#39; + cellspacing + &#39;>&#39;; // table settings 
text += &#39;<TH COLSPAN=7 HEIGHT=&#39; + 10 + &#39;>&#39;; // create table header cell 
text += &#39;<FONT COLOR="&#39; + headerColor + &#39;" SIZE=&#39; + headerSize + &#39;>&#39;; // set font for table header 
text += monthName + &#39; &#39; + year; 
text += &#39;</FONT>&#39;; // close table header&#39;s font settings 
text += &#39;</TH>&#39;; // close header cell 

// variables to hold constant settings 
var openCol = &#39;<TD WIDTH=&#39; + colWidth + &#39; HEIGHT=&#39; + dayCellHeight + &#39;>&#39;; 
openCol += &#39;<FONT COLOR="&#39; + dayColor + &#39;">&#39;; 
var closeCol = &#39;</FONT></TD>&#39;; 

// create array of abbreviated day names 
var weekDay = new Array(7); 
weekDay[0] = "Sun"; 
weekDay[1] = "Mon"; 
weekDay[2] = "Tues"; 
weekDay[3] = "Wed"; 
weekDay[4] = "Thu"; 
weekDay[5] = "Fri"; 
weekDay[6] = "Sat"; 

// create first row of table to set column width and specify week day 
text += &#39;<TR ALIGN="center" VALIGN="center">&#39;; 
for (var dayNum = 0; dayNum < 7; ++dayNum) { 
text += openCol + weekDay[dayNum] + closeCol; 
} 
text += &#39;</TR>&#39;; 

// declaration and initialization of two variables to help with tables 
var dayOfMonth = 1; 
var curCell = 1; 

for (var row = 1; row <= Math.ceil((lastDate + firstDay - 1) / 7); ++row) { 
text += &#39;<TR ALIGN="right" VALIGN="top">&#39;; 
for (var col = 1; col <= 7; ++col) { 
if ((curCell < firstDay) || (dayOfMonth > lastDate)) { 
text += &#39;<TD></TD>&#39;; 
curCell++ 
} else { 
if (dayOfMonth == date) { // current cell represents today&#39;s date 
text += &#39;<TD><TODAY:DAY value=&#39; + dayOfMonth + &#39;></TODAY:DAY></TD>&#39;; 
} else { 
text += &#39;<TD><ANYDAY:DAY value=&#39; + dayOfMonth + &#39;></ANYDAY:DAY></TD>&#39;; 
} 
dayOfMonth++; 
} 
} 
text += &#39;</TR>&#39;; 
} 

// close all basic table tags 
text += &#39;</TABLE>&#39;; 
text += &#39;</CENTER>&#39;; 

// print accumulative HTML string 
document.write(text); 
} 

// --> 
</SCRIPT> 
</BODY> 
</HTML>

上記は9番目のHTMLコンポーネント(HTML COMPONENTS)の内容です。 PHP 中国語 Web サイト (www.php.cn)!


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。