HTC日历的第一个修正版本出来了,欢迎大家测试,下一个修正版在两周后推出

yonghengdizhen 2003-08-11 08:45:27
<PUBLIC:COMPONENT>
<PUBLIC:ATTACH EVENT="oncontentready" ONEVENT="Init()"/>
<PUBLIC:ATTACH EVENT="ondeatch" ONEVENT="theName=''"/>
<PUBLIC:PROPERTY PUT="setDate" NAME="DateValue" />
<PUBLIC:PROPERTY PUT="setYear" NAME="Year" />
<PUBLIC:PROPERTY PUT="setMonth" NAME="Month" />
<PUBLIC:PROPERTY PUT="setDay" NAME="Day" />
<PUBLIC:PROPERTY GET="getDate" NAME="DateValue" />
<PUBLIC:PROPERTY PUT="setDateFormat" NAME="DateFormat" />
<PUBLIC:EVENT NAME="ondatechange" ID="eventID" />
<PUBLIC:ATTACH EVENT="ondatechange" ONEVENT="ResetDateTable()"/>
<SCRIPT LANGUAGE="javascript">
var cl_dpMaxYear=9999;
var cl_dpMaxMonth=11;
var cl_dpMaxDay=31;
var cl_dpMinYear=1600;
var cl_dpMinMonth=0;
var cl_dpMinDay=1;
var oDatePicker;
var oDateObject=new Date();
var oOldDateObject=new Date();
var oYearInput;
var oMonthInput;
var oDayInput;
var oDateIframe;
var oEvent;
var theName=""
var vt_dpFormat="yyyy/mm/dd";
//Init();

///////////////////////////////////////////////////////////////////////////////////
///////////////////////HTC版日历,适用于IE 5.0以上版浏览器//////////////////////////
//为了使下拉日历表正确定位,请将绑定元素使用独立容器存放,例如使用两个不同的单元格///
///////////////////////////////////////////////////////////////////////////////////
function ResetDateTable()
{
//注意,此处不能再次调用设置绑定对象的任何方法,否则产生事件递归触发导致堆栈溢出
//此事件也可放在被绑定元素的HTML中触发.
//lStep=event.result;
}
function setDate(vValue)
{
oDateObject=date_getDateFromVT_DATE(vValue);
}
function setYear(vValue)
{
if(!isNaN(vValue))
{
if(oDateObject.getFullYear()!=parseInt(vValue))
{
oDateObject.setFullYear(vValue);
window.frames[theName].CurrentDate=oDateObject.clone();
dp_onDateChange();
}
}
}
function setMonth(vValue)
{
if(!isNaN(vValue))
{
if(oDateObject.getMonth()!=parseInt(vValue))
{
oDateObject.setMonth(vValue);
window.frames[theName].CurrentDate=oDateObject.clone();
dp_onDateChange();
}
}
}
function setDay(vValue)
{
if(!isNaN(vValue))
{
if(oDateObject.getDate()!=parseInt(vValue))
{
oDateObject.setDate(vValue);
window.frames[theName].CurrentDate=oDateObject.clone();
dp_onDateChange();
}
}
}
function setDateFormat(vValue)
{
if(vValue!="")
{
vt_dpFormat=vValue;
}
}
function getDate()
{
return oDateObject;
}

...全文
69 38 打赏 收藏 转发到动态 举报
写回复
用AI写文章
38 条回复
切换为时间正序
请发表友善的回复…
发表回复
JerKii 2003-08-24
  • 打赏
  • 举报
回复
cloudchen(陈系上),不错!颜色搭配很COOOOOOOL。
cloudchen 2003-08-23
  • 打赏
  • 举报
回复
说一下我这个特点:日期上没有过多的判断,只取每月的天数,上月的最后一天。日历主题都由脚本构造,没有html代码(很简洁),外观全部由css控制,修改css样式就可以有多套面板。
cloudchen 2003-08-23
  • 打赏
  • 举报
回复
我的,没用htc,很简洁,才一百多行
http://www.sayee.com/cloudchen/js/myCalendar.htm
JerKii 2003-08-22
  • 打赏
  • 举报
回复
使用HTC是可以实现事件回调功能,但是如果想要将他用到Netscape上的话,要改的东西就很多了!基本上要重写很多代码。因为htc只能用在IE中!我认为各有各的好处。全局变量如果使用得好的话,可更简化你的编程。:)

JerKii
nik_Amis 2003-08-21
  • 打赏
  • 举报
回复
up
yonghengdizhen 2003-08-21
  • 打赏
  • 举报
回复
另外上述日历不具备事件回调功能也是WEB应用程序中的一大缺憾
yonghengdizhen 2003-08-21
  • 打赏
  • 举报
回复
上述代码早已经拜读.有感于大量的全局变量使用容易和程序中定义的代码互相冲突.所以才推出了这个htc版本的日历.
之前我们项目中所采用的便是这种使用全局变量的日历,结果在引用了另外一个具有类似功能的脚本之后出现莫名其妙的错误.经单步调试跟踪才发现是全局变量冲突
侠雨飞飞 2003-08-21
  • 打赏
  • 举报
回复
很简约,不错
不过,选择年似乎有点费力,要一个月一个月的来调
JerKii 2003-08-21
  • 打赏
  • 举报
回复
这东西,每个人都写来写去的,我觉得没什么意思!
找点有难度的来写写吧!
我也写了个JSCalendar呢!给你参考参考!
http://www.cntomorrow.com:3310/?destUrl=GuestBookDetail.asp?id=274

JerKii
majunbo 2003-08-21
  • 打赏
  • 举报
回复
up
yonghengdizhen 2003-08-21
  • 打赏
  • 举报
回复
蓝色的那些文字是可以输入的,不要被颜色迷惑了.
yonghengdizhen 2003-08-21
  • 打赏
  • 举报
回复
to silverswords(笨笨虫冲)
年和月可以直接在输入框中输入的,因为年和月的下拉选择似乎没有必要.
日的处理也一样
yonghengdizhen 2003-08-20
  • 打赏
  • 举报
回复
关于版本的注意事项在注释中已经明确写明了.
yonghengdizhen 2003-08-20
  • 打赏
  • 举报
回复
关于以上代码的演示你可以参考
www.mooey.com/datepicker/date_picker.htm
新版本的文件包括
date_picker.htm(演示文件)
DATE_PICKER.HTC(htc组件)
DatePicker.css(所有界面效果通过它定义)
arrowRight.gif(接下来的两个图片用于月份的滚动按钮.如果不希望有太多依赖,可以在htc文件中将<img>去掉,替换成文字)
arrowLeft.gif
所有文件放在同一个目录中
如果希望在共用目录中使用该htc,可以在htc中适当更改所有引用url为相对路径
下一个版本将解决文件依赖问题,所有特性通过htc的接口属性设置实现
yonghengdizhen 2003-08-20
  • 打赏
  • 举报
回复
to Debian(乌鱼子)
好象不是写给跨浏览器的用户的.
在WEB应用程序设计中,是否考虑跨平台特性,取决于实际的应用环境.
而HTC在ie5.0以上对客户端对象的良好的封装性,让我选择了使用HTC来解决客户端代码的复用问题.
Debian 2003-08-20
  • 打赏
  • 举报
回复
不能跨浏览器的说。
lcfno1 2003-08-20
  • 打赏
  • 举报
回复
上面的代码怎么用呀,我试来试去还是不好用呀,一共需要几个文件呀,哪些代码放在一个文件里呀,各位大师,有没有现成的文件下载呀,
wsyab 2003-08-18
  • 打赏
  • 举报
回复
楼上值得敬佩,~~
meizz 2003-08-15
  • 打赏
  • 举报
回复
学习中...
girltian 2003-08-14
  • 打赏
  • 举报
回复
强烈推荐,很好用的东东,嘿嘿,拿过来就可以用哦
加载更多回复(18)

87,903

社区成员

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

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