[Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Календарь
AdministratorДата: Четверг, 11.11.2010, 17:09 | Сообщение # 1
Генералиссимус
Группа: Администраторы

Сообщений: 82
Награды: 2
Репутация: 0
Offline
Календарь на текущий месяц с указанием текущего дня. Если его дополнить ссылками, то можно использовать в новостном разделе.

Code
<html>
<head>
</head>
<body>
<script language="JavaScript">
<!--
// Copyright (c) 1996-1997 Tomer Shiran. All rights reserved.
// Permission given to use the script provided that this notice remains as is.
// Additional scripts can be found at http://www.geocities.com/~yehuda/

setCal()

function getTime() {
         // initialize time-related variables with current time settings
         var now = new Date()
         var hour = now.getHours()
         var minute = now.getMinutes()
         now = null
         var ampm = ""  

         // validate hour values and set value of ampm
         if (hour >= 12) {
                 hour -= 12
                 ampm = "PM"
         } else
                 ampm = "AM"
         hour = (hour == 0) ? 12 : hour

         // add zero digit to a one digit minute
         if (minute < 10)
                 minute = "0" + minute // do not parse this number!

         // return time string
         return hour + ":" + minute + " " + ampm
}

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

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.getYear()
         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, 1900 + year)
}

function drawCal(firstDay, lastDate, date, monthName, year) {
         // constant table settings
         var headerHeight = 15 // height of the table's header cell
         var border = 1 // 3D height of table's border
         var cellspacing = 1 // width of table's border
         var headerColor = "midnightblue" // color of table's header
         var headerSize = "1" // size of tables header font
         var colWidth = 30 // width of columns in table
         var dayCellHeight = 10 // height of cells containing days of the week
         var dayColor = "darkblue" // color of font representing week days
         var cellHeight = 20 // height of cells representing dates in the calendar
         var todayColor = "darkred" // color specifying today's date in the calendar
         var timeColor = "blue" // color of font representing current time

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

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

         // 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 += '<TR ALIGN="center" VALIGN="center">'
         for (var dayNum = 0; dayNum < 7; ++dayNum) {
                 text += openCol + weekDay[dayNum] + closeCol  
         }
         text += '</TR>'
          
         // declaration and initialization of two variables to help with tables
         var digit = 1
         var curCell = 1
          
         for (var row = 1; row <= Math.ceil((lastDate + firstDay - 1) / 7); ++row) {
                 text += '<TR ALIGN="right" VALIGN="top">'
                 for (var col = 1; col <= 7; ++col) {
                         if (digit > lastDate)
                    break
                         if (curCell < firstDay) {
                    text += '<TD></TD>'
                    curCell++
                         } else {
                    if (digit == date) { // current cell represent today's date
                    text += '<TD HEIGHT=' + cellHeight + '>'
                    text += '<FONT COLOR="' + todayColor + '" SIZE="-1">'
                    text += digit
                    text += '</FONT>'
// You can uncomment these lines if you want current time in today's box
//                    text += '<BR>'
//                    text += '<FONT COLOR="' + timeColor + '" SIZE="-1">'
//                    text += '<CENTER>' + getTime() + '</CENTER>'
//                    text += '</FONT>'
                    text += '</TD>'
                    } else
                    text += '<TD HEIGHT=' + cellHeight + '><font size="-1">' + digit + '</font></TD>'
                    digit++
                         }
                 }
                 text += '</TR>'
         }
          
         // close all basic table tags
         text += '</TABLE>'

         // print accumulative HTML string
         document.write(text)  
}
// -->
</script>
</body>
</html>
 
  • Страница 1 из 1
  • 1
Поиск: