效果图:
实现代码:
<html>
<head>
<link
rel="stylesheet"
type="text/css"
href="Skin.css">
<style>
<!--
table{
text-align:
center
}
-->
</style>
</head>
<body>
<div
align="center">
<script
language="javascript">
var
my
=
new
Date()
function
showc()
{
var
k=1
var
j=1
var
today
var
tomonth
var
theday=1//日期
var
max
var
temp
var
tempday//这个月第一天的星期
document.write
("<b>"
+
my.getFullYear()
+
"-"
+
(my.getMonth()+1)
+
"</b>")
document.write
("<table
border='1'
width='273'
height='158'>")
document.write
("<tr>")
document.write
("<td
height='23'
width='39'><font
color='red'>Sun</font></td>")
document.write
("<td
height='23'
width='39'>Mon</td>")
document.write
("<td
height='23'
width='39'>Tue</td>")
document.write
("<td
height='23'
width='39'>Wed</td>")
document.write
("<td
height='23'
width='39'>Thu</td>")
document.write
("<td
height='23'
width='39'>Fri</td>")
document.write
("<td
height='23'
width='39'>Sat</td>")
document.write
("</tr>")
temp=my.getDate()
my.setDate(1)
//document.write
(my.getDate())
tempday=my.getDay()//返回第一天是星期几
my.setDate(temp)
today=my.getDay()//返回现在星期几
switch
((my.getMonth()+1))
{
case
1:
case
3:
case
5:
case
7:
case
8:
case
10:
case
12:
max=31
break
case
4:
case
6:
case
9:
case
11:
max=30
break
default:
max=29//这里没有考虑闰月!!
//document.write
(max)
}
for(k=0k<6k++)
{
document.write
("<tr>")
for(j=0j<=6j++)
{
document.write
("<td
height='23'
width='39'>")
if(j>=(tempday))
{
tempday=0//设置为最小,相当于取消判断条件
if(theday<=max)
{
document.write
("<a
title="
+
my.getFullYear()
+
"-"
+
(my.getMonth()+1)
+
"-"
+theday
+
"
target='_blank'
href=detail.asp?date="
+
theday
+
">")
if(theday==my.getDate())
document.write
("<font
color='green'>["
+
theday
+
"]</font></a>")
else
if(j==0)
document.write
("<font
color='red'>"
+
theday
+
"</font></a>")
else
document.write
(theday
+
"</a>")
theday++
}
}
document.write
("</td>")
}
document.write
("</tr>")
}
document.write
("</table>")
}
showc()
</script>
</div>
<body>
</html>
以上就是本文的全部内容,希望大家可以轻松实现网页版日历。
<!DOCTYPE html><html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
<style>
table {
width: 230px
margin: auto
text-align: center
border: 1px solid darkcyan
border-bottom: 3px double darkcyan
box-shadow: 0 1px 2px darkcyan
}
th,
td {
border: 1px solid darkcyan
}
.today {
color: red
}
</style>
<script>
//判断当前年份是否是闰年(闰年2月份有29天,平年2月份只有28天)
function isLeap(year) {
return year % 4 == 0 ? (year % 100 != 0 ? 1 : (year % 400 == 0 ? 1 : 0)) : 0
}
var i, k,
today = new Date(), //获取当前日期
y = today.getFullYear(), //获取日期中的年份
m = today.getMonth(), //获取日期中的月份(需要注意的是:月份是从0开始计算,获取的值比正常月份的值少1)
d = today.getDate(), //获取日期中的日(方便在建立日期表格时高亮显示当天)
firstday = new Date(y, m, 1), //获取当月的第一天
dayOfWeek = firstday.getDay(), //判断第一天是星期几(返回[0-6]中的一个,0代表星期天,1代表星期一,以此类推)
days_per_month = new Array(31, 28 + isLeap(y), 31, 30, 31, 30, 31, 31, 30, 31, 30, 31), //创建月份数组
str_nums = Math.ceil((dayOfWeek + days_per_month[m]) / 7) //确定日期表格所需的行数
document.write("<table cellspacing='0'><tr><td colspan ='7'>" + y + "年" + (m + 1) + "月" + "</td></tr>")
document.write("<tr><th>日</th><th>一</th><th>二</th><th>三</th><th>四</th><th>五</th><th>六</th></tr>") //打印表格第一行(显示星期)
for(i = 0 i < str_nums i += 1) { //二维数组创建日期表格
document.write('<tr>')
for(k = 0 k < 7 k++) {
var idx = 7 * i + k //为每个表格创建索引,从0开始
var date = idx - dayOfWeek + 1 //将当月的1号与星期进行匹配
(date <= 0 || date > days_per_month[m]) ? date = ' ': date = idx - dayOfWeek + 1 //索引小于等于0或者大于月份最大值就用空表格代替
date == d ? document.write('<td class="today">' + date + '</td>') : document.write('<td>' + date + '</td>') //高亮显示当天
}
document.write('</tr>')
}
document.write('</table>')
</script>
</head>
<body>
</body>
</html>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)