在 CSDN 的 blog 添加时钟、日历、浏览人数计数器和天气查询的方法

本文介绍了一个基于JavaScript的嵌入式日历组件实现方案,该组件可以显示指定月份的日历,并支持用户通过点击日期链接跳转到对应日期的文章存档页面。
不想多说废话,把下面的代码贴到 “配置”--“公告”里面,然后保存就行。
其中,
http://www.butabon.com/Clock/clock_018.swf 是时钟的模样,可以选择 000 - 019 或者 051 - 059 之间的任何一个数字。
----------------------------------------------------------------------------------

<EMBED SRC=http://www.butabon.com/Clock/clock_018.swf WIDTH=150 HEIGHT=150 wmode=transparent quality=high loop=true menu=false><br>

<br>
本页被人浏览的次数:<img src="" id="PageView"><br>

<script>
//设置两个计数计的外观样式,取值1-60
var PageCountStyle=48
var TotalCountStyle=48
try{
var sUrl=self.location.href
var re=new RegExp("(.+/.net//)([^//]+)([^/.]*)","ig")
if(re.test(sUrl))
{
var blog_id=RegExp.$2;
var page_id=blog_id+"__"+RegExp.$3.replace(////g,"");
blog_id+="__CSDNBLOG"
var cUrl="http://nmc2.jy.js.cn/cgi-bin/counter.pl?ln=8&bd=$0;$0;$255&from=0"
document.all.PageView.src=cUrl+"&id="+page_id+"&md=a"+PageCountStyle
document.all.TotalView.src=cUrl+"&id="+blog_id+"&md=a"+TotalCountStyle
}
}catch(e){;}
</script>

<p>
<center>
<h3>日历表</h3>

<script language="javascript">
var diarydays="<2006-01-27><2006-01-26><2006-01-15><2006-01-02><2006-01-01><2005-12-27><2005-12-16><2005-11-09><2005-10-19><2005-10-17><2005-10-14><2005-10-12><2005-10-11><2005-10-09><2005-10-02><2005-09-26><2005-09-22><2005-08-27><2005-08-25><2005-08-23><2005-08-21><2005-08-15><2005-08-07><2005-07-19><2005-07-08><2005-07-06><2005-07-04><2005-07-03><2005-06-22><2005-06-20><2005-06-15><2005-06-08><2005-06-07><2005-06-06><2005-05-31><2005-05-30><2005-05-25><2005-05-13><2005-05-08><2005-04-26><2005-04-25><2005-03-06><2005-02-24><2005-02-20><2005-02-15><2005-02-12><2005-02-11><2005-02-08><2005-02-06><2005-01-10><2005-01-02><2004-12-29><2004-12-25><2004-12-14><2004-12-13><2004-12-10><2004-12-04><2004-12-04><2004-12-03><2004-12-02><2004-11-26><2004-11-23><2004-11-22><2004-11-19><2004-11-18><2004-11-17><2004-11-02><2004-10-30><2004-10-13><2004-10-12><2004-09-16><2004-08-23><2004-07-11><2004-07-09><2004-07-08><2004-07-07><2004-07-06><2004-07-05><2004-07-04>";
</script>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<style>
.calendarBigBorder {
    font-family: "Arial", "Helvetica", "sans-serif", "宋体";
    text-decoration: none;
    width: 170;
    background-color: #FFFFFF;
    font-size: 9pt;border:1px dotted #999; }

.calendarTd {
    font-family: "Arial", "Helvetica", "sans-serif", "宋体";
    font-size: 9pt;    color: #000000;
    background-color: #eeeeee;
    height: 18px;
    width: 11%;
    text-align: center;}

.calendarMInput {
    font-family: "Arial", "Helvetica", "sans-serif", "宋体";
    font-size: 8pt;
    text-decoration: none;
    background-color: #FFFFFF;
    height: 16px;
    border: 1px solid #666666;
    width: 19px;
    color: #0099FF;
    margin: 0px 5px;
    text-align: center;}

.calendarYInput {
    font-family: "Arial", "Helvetica", "sans-serif", "宋体";
    font-size: 8pt;
    color: #0099FF;
    text-decoration: none;
    background-color: #FFFFFF;
    height: 16px;
    width: 34px;
    border: 1px solid #666666;
    margin: 0px 5px;
    text-align: center;}

.calendarMonthTitle {
    font-family: "Arial", "Helvetica", "sans-serif", "宋体";
    font-size: 9pt;
    font-weight: normal;
    height: 24px;
    text-align: center;
    color: #333333;
    text-decoration: none;
    background-color: #eeeeee;
    border-top-width: 1px;
    border-right-width: 1px;
    border-bottom-width: 1px;
    border-left-width: 1px;
    border-bottom-style: none;
    border-top-color: #999999;
    border-right-color: #999999;
    border-bottom-color: #999999;
    border-left-color: #999999;}

.calendarNow {
    font-family: "Arial", "Helvetica", "sans-serif", "宋体";
    font-size: 9pt;
    font-weight: bold;
    color: #000000;
    background-color: #C0C9D3;
    height: 18px;
    text-align: center;}

.calendarDaySat {
    font-family: "Arial", "Helvetica", "sans-serif", "宋体";
    font-size: 9pt;
    color: #333333;    text-decoration: none;
    background-color: #eeeeee;
    text-align: center;
    height: 18px;
    width: 12%;}

.calendarDaySun {
    font-family: "Arial", "Helvetica", "sans-serif", "宋体";
    font-size: 9pt;
    color: #333333;
    text-decoration: none;
    background-color: #eeeeee;
    text-align: center;
    height: 18px;
    width: 12%;}

.calendarLink {
    font-family: "Arial", "Helvetica", "sans-serif", "宋体";
    font-size: 9pt;
    font-weight: normal;
    color: #333333;
    text-decoration: none;
    background-color: #E7E7F6;
    text-align: center;
    height: 18px;}

.categoryTxt {
    font-family: "Arial", "Helvetica", "sans-serif", "宋体";
    font-size: 9pt;
    line-height: 23px;
    color: #333333;
    text-decoration: none;}

.categoryTable {
    border-right-width: 1px;
    border-bottom-width: 1px;
    border-right-style: solid;
    border-bottom-style: solid;
    border-left-style: none;
    border-right-color: #000000;
    border-bottom-color: #000000;
    border-top-width: 1px;
    border-top-style: solid;
    border-top-color: #71b99c;}

</style>

<SCRIPT LANGUAGE="JavaScript">
var months = new Array("一", "二", "三", "四", "五", "六", "七", "八", "九", "十", "十一", "十二");
var daysInMonth = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
var days = new Array("日", "一", "二", "三", "四", "五", "六");
var classTemp;
var calendarHover="calendarHover";
var today=new getToday();
var year=today.year;
var month=today.month;
var newCal;

//得到某月天数
function getDays(month, year)
{ if (1 == month)
     return ((0 == year % 4) && (0 != (year % 100))) ||(0 == year % 400) ? 29 : 28;
  else
     return daysInMonth[month];
}

//得到当天时间信息
function getToday()
{  this.now = new Date();
   this.year = this.now.getFullYear();
   this.month = this.now.getMonth();
   this.day = this.now.getDate();
}

//生成日历
function Calendar()
{  newCal = new Date(year,month,1);
   today = new getToday();  
   var day = -1;
   var startDay = newCal.getDay();
   var endDay=getDays(newCal.getMonth(), newCal.getFullYear());
   var daily = 0;
   if ((today.year == newCal.getFullYear()) &&(today.month == newCal.getMonth()))
      day = today.day;
   var caltable = document.all.caltable.tBodies.calendar;
   var intDaysInMonth =getDays(newCal.getMonth(), newCal.getFullYear());
   for (var intWeek = 0; intWeek < caltable.rows.length;intWeek++)
     for (var intDay = 0;intDay < caltable.rows[intWeek].cells.length;intDay++)
     {
      var cell = caltable.rows[intWeek].cells[intDay];
      var montemp=(newCal.getMonth()+1)<10?("0"+(newCal.getMonth()+1)):(newCal.getMonth()+1);           
      if ((intDay == startDay) && (0 == daily)){ daily = 1;}
      var daytemp=daily<10?("0"+daily):(daily);
      var d="<"+newCal.getFullYear()+"-"+montemp+"-"+daytemp+">";
      if(day==daily)
         cell.className="calendarNow";
      else if(diarydays.indexOf(d)!=-1)
         cell.className="calendarLink";
      else if(intDay==6)
         cell.className = "calendarDaySat";
      else if (intDay==0)
         cell.className ="calendarDaySun";
      else
         cell.className="calendarTd";
      if ((daily > 0) && (daily <= intDaysInMonth)) 
      {     cell.innerText = daily;
         daily++;
      }
      else
        cell.innerText = "";
    }   
  document.all.year.value=year;
  document.all.month.value=month+1;
}

function subMonth()
{
  if ((month-1)<0)
  {
     month=11;
     year=year-1;
  }
  else
  {
    month=month-1;
  }
  Calendar();
}

function addMonth()
{
  if((month+1)>11)
  {
    month=0;
    year=year+1;
  }
  else
  {
    month=month+1;
  }
  Calendar();
}

//得到响应事件
function getDiary()
{
  var mon=(newCal.getMonth()+1)<10?("0"+(newCal.getMonth()+1)):(newCal.getMonth()+1);
  var day=event.srcElement.innerText<10?("0"+event.srcElement.innerText):(event.srcElement.innerText);
  var d="<"+newCal.getFullYear()+"-"+mon+"-"+day+">";
  if ("TD" == event.srcElement.tagName)
  if (("" != event.srcElement.innerText)&&(diarydays.indexOf(d)!=-1))
  {
   diary.location="/sun_jianhua/archive/"+newCal.getFullYear()+"/"+mon+"/"+day+".aspx";
   window.location.href = diary.location;
  }
}

function setDate()
{
  if (document.all.month.value<1||document.all.month.value>12)
  {
    alert("月的有效范围在 1-12 之间。");
    return;
  }
  year=Math.ceil(document.all.year.value);
  month=Math.ceil(document.all.month.value-1);
  Calendar();
}
</SCRIPT>

<table border="0" cellpadding="0" cellspacing="1" class="calendarBigBorder" id="caltable" width="200">
<thead>
    <tr align="center" valign="middle">
        <td colspan="7" class="calendarMonthTitle">
            <input name="year" type="text" class="calendarYInput" size="3" maxlength="4" onFocus="this.select()" onkeydown="if (event.keyCode==13){setDate()}" onkeyup="this.value=this.value.replace(/[^0-9]/g,'')" onpaste="this.value=this.value.replace(/[^0-9]/g,'')">年<input name="month" type="text" class="calendarMInput" size="1" maxlength="2" onFocus="this.select()" onkeydown="if (event.keyCode==13){setDate()}" onkeyup="this.value=this.value.replace(/[^0-9]/g,'')" onpaste="this.value=this.value.replace(/[^0-9]/g,'')">月 <a onClick="subMonth()" href="javascript:;"><<</a> <a onClick="addMonth()" href="javascript:;">>></a>
      </td>
    </tr>
    <tr align="center" valign="middle">
    <SCRIPT LANGUAGE="JavaScript">    
    document.write("<TD class=calendarDaySun id=diary>" + days[0] + "</TD>");
    for (var intLoop = 1; intLoop < days.length-1;
    intLoop++)
    document.write("<TD class=calendarTd id=diary>" + days[intLoop] + "</TD>");
    document.write("<TD class=calendarDaySat id=diary>" + days[intLoop] + "</TD>");
    </SCRIPT>
    </TR>
</thead>

<TBODY border=1 cellspacing="0" cellpadding="0" ID="calendar" ALIGN=CENTER ONCLICK="getDiary()" onmouseup=document.selection.empty() oncontextmenu="return false" onselectstart="return false" ondragstart="return false" onbeforecopy="return false" oncopy=document.selection.empty() onselect=document.selection.empty()>
    <SCRIPT LANGUAGE="JavaScript">
        for (var intWeeks = 0; intWeeks < 6; intWeeks++) {
        document.write("<TR style='cursor:hand'>");
        for (var intDays = 0; intDays < days.length;intDays++)
        document.write("<TD class=calendarTd onMouseover='{classTemp=this.className;this.className=calendarHover}' onMouseOut='this.className=classTemp'></TD>");
        document.write("</TR>");
        }   
    </SCRIPT>
</tbody>
</table>
<script LANGUAGE="JavaScript">
Calendar();
</script>
</center>
<p>

<br>
<iframe width=160 height=250 frameborder=0 scrolling=NO src="http://appnews.qq.com/cgi-bin/news_qq_search?city=%b9%e3%d6%dd"></iframe>
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值