知识可以触类旁通。。。
2007-12-31 18:37 htc开发 阅读(193) 评论(0) 编辑 收藏 举报这次元旦放假,休息了一下身心。 版里首页需要一个万年历,我打算将它做成可以显示版友生日的万年历。当然,改代码是毋庸置疑的了。还好,以前在大学的时候曾经学过网页制作,对HTML语言也比较了解。当年,Dreamweaver还不流行的时候,我就是用记事本来写HTML语言的。 但是,对Javascript就不了解了,那时候学的是VBScript。这些都靠自学。
为了实现这个功能,硬着头皮去看满篇的Javascript。每个函数每个函数的去研究。google的用途就派上了,JavaScript语法,脚本等等。都是从google上得来。仿照写了几个函数,都没有实现得了,差点半途放弃。不过,后来还是耐心的去学,去看,去模仿。连续两天,一直搞到凌晨1点半,貌似大学的劲头来了。记得当年在学校的时候,没有电脑,为了做网页,到网吧通宵。
功夫不负有心人。研究了两天之后,终于模仿写了一个函数,实现了我要的功能。当然,在行内人士来说,不值一提。可是对我这个没有基础的人来说,几个小时的啃代码,然后能实现我要的功能,也算是小兴奋了一下。
有个疑点:网页制作有没有类似单步调试的东东。要不这调试也太费劲了。看不到变量,看不到执行步骤,只能花时间去试。现在的网页制作技术也不知道发展到何种水平了。
技术是相通的。无论是嵌入式技术,还是网页技术。他们的精髓,思想还是一致的。只是可能概念不同,侧重点不同而已。
以下是部分万年历代码:
function showbirth() {
var sD,s,size;
cld = new calendar(tY,tM);
{
sObj=eval('BID');
sObj.className = '';
sD = tD-1;
if(sD>-1 && sD<cld.length) { //日期内
//sObj.innerHTML = sD+1;
if(cld[sD].isToday) sObj.className = 'blue'; //今日颜色
sObj.style.color = cld[sD].color; //国定假日颜色
s=cld[sD].lunarFestival;
if(s.length>0) { //农历节日
if(s.length>6) s = s;
s = s.fontcolor('red');
}
else { //国历节日
s=cld[sD].solarFestival;
if(s.length>0) {
size = (s.charCodeAt(0)>0 && s.charCodeAt(0)<128)?8:4;
if(s.length>size+2) s = s;
s = s.fontcolor('red');
}
else { //廿四节气
s=cld[sD].solarTerms;
if(s.length>0) s = s.fontcolor('red');
}
}
if(s.length>0)
{
s='今天是<B>'+s+'</b>';
sObj.innerHTML = s;
}
}
else { //非日期
sObj.innerHTML = '';
}
}
}
只需在初始化函数里加入这个函数。
dStyle = detail.style;
CLD.SY.selectedIndex=tY-1900;
CLD.SM.selectedIndex=tM;
drawCld(tY,tM);
showbirth();
CLD.TZ.selectedIndex=getCookie("TZ");
changeTZ();
tick();
}
然后在表格中加入<FONT id="BID"color=#ff6633 size=3> </FONT>,就能将生日显示在这个里面了。
有趣~~~~~~~~~~~~~
不过还请行家留点口德。。。。。。