+++++=======发布我的一个作品========+++++

cueixu1 2003-09-29 02:57:04
<SCRIPT LANGUAGE="JavaScript">
/*
此程序由紫之龙[qq10977837]在2003年9月28日改进编写
此功能用法:
将此SCRIPT嵌套加在WEB页开头,然后在需要输入时间的部分,用最下边的范例引用替换掉<input>
函数参数fDrawCal(生成表单名称,4位年数,月份数,显示单元宽度(建议为15), 显示单元高度(建议为15), 内部字符大小(CSS格式),字符样式(CSS格式),显示模式(建议为1));
其中time.dUpdate()表示把选择的年月设置成当天
还有一些具体功能请看公共变量声明

注意事项:
建立对象的名称和其表单名称参数要一致,否则出错
如建立表单名为A,会建立A_temp和A表单。
如选择1980年1月1日
A.value='1980-1-1'
A_temp.value='1980年1月1日'
小生写程序中变量名称和一些地方可能不是很标准,请高手多多见谅
*/
<!-- Begin
var dDate = new Date();
var dCurMonth = dDate.getMonth();
var dCurDayOfMonth = dDate.getDate();
var dCurYear = dDate.getFullYear();
var objPrevElement = new Object();
var dTopBgColor = "#99CCFF" //顶部内容背景
var dBgColor ="#eeeeee" //时间内容背景
var dBgOverColor ="#aaaaaa" //时间内容鼠标OVER状态背景
var dYearBgOverColor ="#88bbee" //年份背景颜色
var dMonthBgOverColor ="#88bbee" //月份份背景颜色
var dSmallYear =1980 //显示年份最小值
var dBigYear =2010 //显示年份最大值
function getIE(e,m)
{
var t=e.offsetTop;
var l=e.offsetLeft;
while(e=e.offsetParent)
{
t+=e.offsetTop;
l+=e.offsetLeft;
}
if(m=="top"){return t}
if(m=="left"){return l}
}
function fSetSelectedDay(myElement){
if (myElement.id == "calCell") {
if (!isNaN(parseInt(myElement.children["calDateText_"+this.name].innerText))) {
myElement.bgColor = "#c0c0c0";
objPrevElement.bgColor = "";
document.all[this.name].value = document.all["tbSelYear_"+this.name].value+"-"+document.all["tbSelMonth_"+this.name].value+"-"+myElement.children["calDateText_"+this.name].innerText;
document.all[this.name+"_temp"].value = document.all["tbSelYear_"+this.name].value+"年"+document.all["tbSelMonth_"+this.name].value+"月"+myElement.children["calDateText_"+this.name].innerText+"日";
objPrevElement = myElement;
document.all["div_"+this.name].style.visibility='hidden'
}
}
}
function fGetDaysInMonth(iMonth, iYear) {
var dPrevDate = new Date(iYear, iMonth, 0);
return dPrevDate.getDate();
}
function fBuildCal(iYear, iMonth, iDayStyle) {
var aMonth = new Array();
aMonth[0] = new Array(7);
aMonth[1] = new Array(7);
aMonth[2] = new Array(7);
aMonth[3] = new Array(7);
aMonth[4] = new Array(7);
aMonth[5] = new Array(7);
aMonth[6] = new Array(7);
var dCalDate = new Date(iYear, iMonth-1, 1);
var iDayOfFirst = dCalDate.getDay();
var iDaysInMonth = fGetDaysInMonth(iMonth, iYear);
var iVarDate = 1;
var i, d, w;
if (iDayStyle == 2) {
aMonth[0][0] = "Sunday";
aMonth[0][1] = "Monday";
aMonth[0][2] = "Tuesday";
aMonth[0][3] = "Wednesday";
aMonth[0][4] = "Thursday";
aMonth[0][5] = "Friday";
aMonth[0][6] = "Saturday";
} else if (iDayStyle == 1) {
aMonth[0][0] = "日";
aMonth[0][1] = "一";
aMonth[0][2] = "二";
aMonth[0][3] = "三";
aMonth[0][4] = "四";
aMonth[0][5] = "五";
aMonth[0][6] = "六";
} else {
aMonth[0][0] = "Su";
aMonth[0][1] = "Mo";
aMonth[0][2] = "Tu";
aMonth[0][3] = "We";
aMonth[0][4] = "Th";
aMonth[0][5] = "Fr";
aMonth[0][6] = "Sa";
}
for (d = iDayOfFirst; d < 7; d++) {
aMonth[1][d] = iVarDate;
iVarDate++;
}
for (w = 2; w < 7; w++) {
for (d = 0; d < 7; d++) {
if (iVarDate <= iDaysInMonth) {
aMonth[w][d] = iVarDate;
iVarDate++;
}
}
}
return aMonth;
}
function fUpdate()
{
var dCurDate = new Date();
document.all["tbSelMonth_"+this.name].options[dCurDate.getMonth()].selected = true;
for (i = 0; i < document.all["tbSelYear_"+this.name].length; i++)
if (document.all["tbSelYear_"+this.name].options[i].value == dCurDate.getFullYear())
document.all["tbSelYear_"+this.name].options[i].selected = true;
}
function fUpdateCal(iYear, iMonth) {
myMonth = fBuildCal(iYear, iMonth);
objPrevElement.bgColor = "";
//document.all.calSelectedDate.value = "";
for (w = 1; w < 7; w++) {
for (d = 0; d < 7; d++) {
if (!isNaN(myMonth[w][d])) {
document.all["calDateText_"+this.name][((7*w)+d)-7].innerText = myMonth[w][d];
} else {
document.all["calDateText_"+this.name][((7*w)+d)-7].innerText = " ";
}
}
}
}


function fDrawCal(name,iYear, iMonth, iCellWidth, iCellHeight, sDateTextSize, sDateTextWeight, iDayStyle) {
this.name=name
this.year=iYear
this.Month=iMonth
this.SelectDay=fSetSelectedDay
this.Update=fUpdateCal
this.dUpdate=fUpdate
var myMonth;
myMonth = fBuildCal(iYear, iMonth, iDayStyle);

document.write("<input type=\"hidden\" name=\""+this.name+"\" value=\"\">")
document.write("<input type=\"text\" readonly name=\""+this.name+"_temp\" value=\"点此选择时间\" onclick=\"div_"+this.name+".style.pixelTop=getIE(this,'top')+30;div_"+this.name+".style.pixelLeft=getIE(this,'left')+40;div_"+this.name+".style.visibility='visible'\">")
//隐藏层部分
document.write("<div id='div_"+this.name+"' style='Z-INDEX: 3; VISIBILITY: hidden; POSITION: absolute;' >")

document.write("<table border=\"1\" cellpadding=\"0\" cellspacing=\"0\">")
document.write("<tr>")
document.write("<td bordercolor=\"#000000\">")
document.write("<table border=\"0\">")
document.write("<tr>")
document.write("<td>")
document.write("<select name=\"tbSelYear_"+this.name+"\" onchange='"+this.name+".Update(document.all.tbSelYear_"+this.name+".value, document.all.tbSelMonth_"+this.name+".value)' style=\"text-align:center;border: 1px solid; font-size: 9pt; font-family: \"宋体\"; border-color:#000000 solid\">")
for(var year2=dSmallYear;year2<=dBigYear;year2++)
document.write("<option style='background-color:"+dYearBgOverColor+"' value=\""+year2+"\">"+year2+"</option>")
document.write("</select>")
document.write("<select name=\"tbSelMonth_"+this.name+"\" onchange='"+this.name+".Update(document.all.tbSelYear_"+this.name+".value, document.all.tbSelMonth_"+this.name+".value)' style=\"text-align:center;border: 1px solid; font-size: 9pt; font-family: \"宋体\"; border-color:#000000 solid\">")
...全文
70 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
0578 2003-09-30
  • 打赏
  • 举报
回复
支持
ricky460 2003-09-30
  • 打赏
  • 举报
回复
HueVan(什么时候我才不被别人叫做“菜鸟”?)
我不觉的你说的话对。。别人的东西毕竟是别人的东西 。 。 。
你可以拿来用,但是如果你依然不会的话,你永远超不过人家。。。
我觉的你的思想还停留在一个项目人员的基础上,为了赶进度,只要是有现成的
东西,从来不自己学习去做。。。只需要拷贝,粘贴 。 。 。
项目是很快就出来了,等出来各种问题的时候,就手忙脚乱,不知所以然。。。。

我觉的楼主很好,尽管做的日历控件相对于梅花雨的是差一些。。。但是这只是
第一步,起码,论坛上很多菜鸟还都不会。。。这也是楼主实力的一种体现,至少他
已经比我高了一个等级,而且,我相信加以时日,楼主能做出比梅花雨更好的日历控件。。。

创新,也必须有技术支持才行,你知道用别人的东西,还怎么学技术,怎么创新。。。?
总之,支持楼主 。 。 。
wwwevil 2003-09-30
  • 打赏
  • 举报
回复
设计得很好,可是那个年份的上限是不是可以考虑增加一下?
AgathaZ 2003-09-30
  • 打赏
  • 举报
回复
哦。。。不错不错!
cueixu1 2003-09-30
  • 打赏
  • 举报
回复
看了一下梅花雪的那个东西~~`
我也能做出来,而且要比他完善~~
cueixu1 2003-09-30
  • 打赏
  • 举报
回复
呵呵。阿酷的话我还是比较赞同的,也许是本人目光短浅,因为做这个东西是为了解决实际问题用,而不是纯粹的开发,在做这个东西的时候我也不知道有梅花雨这个东西,就是现在发这个帖子的时候我也不知道。至少我现在看见的很多网站还是

[ ]年[ ]月[ ]日

的输入方式,我感觉很不爽,所以就做出来一个。正好今天帮别人修改站点被用上了。
其实创新并不是不容易。我想有很多人像我一样,看见的东西很少,国外在做ADO组件的时候我们又在做什么?可能还在学FOXBASE甚至更老的东西。其实有东西拿来用是可以的,在你知道你可以实现这个一样的功能的时候你可以不去研究他而直接去用,当然也有例外,比如你在使用ADO的时候,汗~~~

其实对于程序员来说时间是非常宝贵的,因为不要机关只要你做在办公室签字盖章,就可以保住饭碗,而程序员却要学新的语言(编程语言和外语),新的技术,新的思想,否则就会被BOSS一教踢出去。谁都希望把时间省下来学习。我算是刚刚走出家门,在公司工作一个,发现基础模块的日常累计有多重要。当你编写好一个模块的时候以后在别的程序中调用的时候你会发觉非常轻松。
ricky460 2003-09-30
  • 打赏
  • 举报
回复
HueVan(什么时候我才不被别人叫做“菜鸟”?)
我以前搞了2年VC++ ,做过不少项目。。。最近才开始学习ASP,我相信如果比编程水平,你不一定比我高 。 。 。
我以前搞VC++的时候,遇到过很多像你这样的人 。 。 。从网上下载一个类,然后在自己的程序
里甚至重载都不用,直接拿来用了。。效果也还可以。。可是他的水平呢 ????当我遇到这种人
的时候,我都告诉他,现在赶项目,你可以暂时这样用,但是在后期,还是需要他把那部分理解,
不说自己重新编写,至少缝缝补补,修修改改的工作你必须得会 。 。 。
我从网上下载的东西,我都会自己再重新做一遍,把它里面的东西学会了,吸收了 。 。 。因为很多东西功能再强大,也不一定适合你项目的需要 。 。 。尤其是现在网上很多东西都存在不少bug。你如果不自己消化吸收,直接拿来用的话,到了项目紧要的关头,往往反而拉了项目的后腿。。。
不知道你做过多少个正规的项目,你们有正规的需求分析,前期设计,风险评估,详细设计,功能模块划分,详细测试等等吗??还是自己单枪匹马,捣鼓捣鼓出来一些东西??
我想 HueVan(什么时候我才不被别人叫做“菜鸟”?) 可能ASP,Javascript之类搞的也比较熟了,所以才会这样摆资格的说别人,但是你不应该打击别人的信心和热情,应该也考虑一下自己是菜鸟时候的样子,不也一样为了一个在高手眼里微不足道的东西而欢喜雀跃吗 。 。 。 。
照你的意思,有了贝多芬,我们还弹钢琴干什么???有了乔丹,我们还打篮球干什么??
pas 2003-09-30
  • 打赏
  • 举报
回复
可以,好用
形印声传 2003-09-30
  • 打赏
  • 举报
回复
TO:ricky460(阿酷)

看了你的话着实觉得可笑...


不知者无罪...哎~~~
bubuy 2003-09-29
  • 打赏
  • 举报
回复
原来是个日历,呵呵不错
形印声传 2003-09-29
  • 打赏
  • 举报
回复
有时间做些新的东西吧,何必浪费时间去重复别人走过的路,做的再好也好不过梅花雨的日历控件~~

其实中国的程序员为什么不能与国外相比,就是因为:他们总喜欢重复,重复,再重复,而国外的程序员则是:创新,创新,再创新!

不好意思喝多了,多说几句,别见怪,借机会发表一下看法,不是针对某一人的~~ ^^
chjpeng 2003-09-29
  • 打赏
  • 举报
回复
不錯~呵呵~


可以參考一下梅花雨的日歷控件:
http://expert.csdn.net/Expert/topic/1887/1887844.xml?temp=.8983881
rootcn 2003-09-29
  • 打赏
  • 举报
回复
很方便,再学习一下:)
cueixu1 2003-09-29
  • 打赏
  • 举报
回复
演示www.tianyi.org.cn/1.htm
cueixu1 2003-09-29
  • 打赏
  • 举报
回复
刚才网络卡住了,不好意思

-------------------------------------------------------------

for(var m1=1;m1<13;m1++)
document.write("<option style='background-color:"+dYearBgOverColor+"' value='"+m1+"'>"+m1+"月</option>")
document.write("</select><input type=\"button\" name=\"Submit\" value=\"退\" onclick=\"div_"+this.name+".style.visibility='hidden'\" style='height: 21px;'>")
document.write("</td>")
document.write("</tr>")
document.write("</table>")



document.write("<table border='0'>")
document.write("<tr>");
document.write("<td bgcolor='"+ dTopBgColor +"' align='center' style='FONT-FAMILY:Arial;FONT-SIZE:12px;'>" + myMonth[0][0] + "</td>");
document.write("<td bgcolor='"+ dTopBgColor +"' align='center' style='FONT-FAMILY:Arial;FONT-SIZE:12px;'>" + myMonth[0][1] + "</td>");
document.write("<td bgcolor='"+ dTopBgColor +"' align='center' style='FONT-FAMILY:Arial;FONT-SIZE:12px;'>" + myMonth[0][2] + "</td>");
document.write("<td bgcolor='"+ dTopBgColor +"' align='center' style='FONT-FAMILY:Arial;FONT-SIZE:12px;'>" + myMonth[0][3] + "</td>");
document.write("<td bgcolor='"+ dTopBgColor +"' align='center' style='FONT-FAMILY:Arial;FONT-SIZE:12px;'>" + myMonth[0][4] + "</td>");
document.write("<td bgcolor='"+ dTopBgColor +"' align='center' style='FONT-FAMILY:Arial;FONT-SIZE:12px;'>" + myMonth[0][5] + "</td>");
document.write("<td bgcolor='"+ dTopBgColor +"' align='center' style='FONT-FAMILY:Arial;FONT-SIZE:12px;'>" + myMonth[0][6] + "</td>");
document.write("</tr>");
for (w = 1; w < 7; w++) {
document.write("<tr>")
for (d = 0; d < 7; d++) {
document.write("<td bgcolor='"+ dBgColor +"' align='left' valign='top' width='" + iCellWidth + "' height='" + iCellHeight + "' id=calCell style='CURSOR:Hand' onMouseOver=\"this.style.backgroundColor='"+dBgOverColor+"'\" onMouseOut=\"this.style.backgroundColor='"+dBgColor+"'\" onclick='"+this.name+".SelectDay(this)'>");
if (!isNaN(myMonth[w][d])) {
document.write("<font id='calDateText_"+this.name+"' name='calDateText_"+this.name+"' onMouseOver='' style='CURSOR:Hand;FONT-FAMILY:Arial;FONT-SIZE:" + sDateTextSize + ";FONT-WEIGHT:" + sDateTextWeight + "' onMouseOut='' onclick="+this.name+".SelectDay(this)>" + myMonth[w][d] + "</font>");
} else {
document.write("<font id='calDateText_"+this.name+"' name='calDateText_"+this.name+"' onMouseOver='' style='CURSOR:Hand;FONT-FAMILY:Arial;FONT-SIZE:" + sDateTextSize + ";FONT-WEIGHT:" + sDateTextWeight + "' onMouseOut='' onclick="+this.name+".SelectDay(this)> </font>");
}
document.write("</td>")
}
document.write("</tr>");
}
document.write("</table>")
document.write("</td>")
document.write("</tr>")
document.write("</table>")
document.write("</div>")
//隐藏层部分结束
}

// End -->
</script>















<script language="JavaScript">
var dCurDate = new Date();
var time=new fDrawCal("time",dCurDate.getFullYear(), dCurDate.getMonth()+1, 15, 15, "12px", "", 1);time.dUpdate()
</script>
meizz 2003-09-29
  • 打赏
  • 举报
回复
还没有贴完整!!
chjpeng 2003-09-29
  • 打赏
  • 举报
回复
支持!

先說明一下功用啊~看起來方便:)
AgathaZ 2003-09-29
  • 打赏
  • 举报
回复
学习一下!
myblessu 2003-09-29
  • 打赏
  • 举报
回复
拷贝下来看看.
≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡
欢迎使用 Relay 的作品 - 输入法卸载清理工具
≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡

  不知道您有没有碰到过输入法不知什么原因而无法使用,而重新安装又被限制的经历:比如不能重复安装、不能从高版本降为低版本的提示。如果有,本工具可以帮您实现输入法卸载清理。

本工具可支持卸载以下输入法
■ 系统附带输入法:
1.微软拼音输入法 2.x/3.x
2.微软新注音输入法
3.微软新仓颉输入法 98b
【注意】系统附带输入法是在 Windows XP 下制作的,其他非 XP 系统不能保证可以正确卸载。

■ 拼音输入法:
1.拼音加加(包含原版及增强版)
2.智能 ABC 输入法 5.x(测试)
3.紫光拼音输入法

■ 五笔输入法:
1.极点五笔 4.x
2.极品五笔输入法(通用)

=============================
更新记录:
2005 年 01 月 14 日发布 v0.51
+ 增加《智能 ABC 输入法》清理提示;
* 缩减主程序大小约 15KB;
* 修正部分文字表述。

2005 年 01 月 13 日发布 v0.5
+ 新增《极品五笔输入法》通用清理;
* 调整了部分界面显示;
* 更改了输入法选取列表样式。

2005 年 01 月 05 日发布 v0.4
+ 增强了清理前的提示界面;
+ 更改了程序图标;
+ 美化了输入法选取列表界面;
* 隐藏了“必须组件”界面;
* 程序代码小幅度整体调整。

2005 年 01 月 04 日发布 v0.3
+ 添加了《紫光拼音输入法 3.x》清理支持;
+ 添加了《极点五笔 4.x》清理支持;
+ 增加了《拼音加加增强版》清理支持;
+ 增加了自动检测系统功能;
+ 美化了“协议”及“正在清理”对话框;
* 全方位调整程序代码文本内容;
* 调整输入法选择列表的结构。

2005 年 01 月 03 日发布 v0.2
+ 添加了《拼音加加》清理支持;
+ 添加了《微软仓颉输入法 98b》清理支持;
+ 添加了清理前再次确认的功能;
+ 增加了程序自校验功能;
* 修改部分表述问题;
* 修正一个路径参数错误的小问题。

2005 年 01 月 02 日发布 v0.1
+ 第一个版本,支持清理《微软拼音 2.0/3.0》及《微软注音输入法》;
+ 整理了代码,精简程序。
 



如有问题,请到 www.leelay.com 留言。


Relay
2005.1.14

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧